html, body {
    overflow: auto;
    overflow-x: hidden;
}
a {
    width: fit-content;
    text-decoration: none;
    cursor: pointer;
    color: inherit;
    display: inline-block;
}
h1 , h2, .title, h1.title h2.title, h3, .post__date h1 {
    color: #0073aa;
}
.container, .container-lg, .container-md, .container-sm, .container-xl {
    max-width: 1240px!important;
}
.mobile-version-header {
    display: none;
}
.row.barg img {
	width: 100%;
    }
.desktop-version-header {
    display: block;
}
.display {
    display: block;
}
.on-display {
    display: none;
}
.logo {
    width: 100%;
}
.text-logo {
    font-family: Helvetica;
    font-style: normal;
    font-weight: bold;
    font-size: 12px;
    line-height: 18px;
    color: #566ED0;
}
.b-566ED0 {
    background: #566ED0;
    color: #fff;
}
.b-28335A {
    background: #28335A;
    color: #fff;
}
.b-485CA3 {
    background: #485CA3;
    color: #fff;
}
.b-566ED0-1 {
        background: #43CED9;
    color: #fff;
    border-radius: 4px;
}
.b-E5E5E5 {
    background: #FAFAFA;
}
.b-F0F3F4 {
    background: #F0F3F4;
}
.b-FAFAFA {
    background: #FAFAFA;
}
.text-in-bot-head a {
    color: #fff;
}
.dropdown-item a {
    color: #4C4E59;
}
a {
    text-decoration: none;
}
a:hover {
    text-decoration: none;
}
.phone {
    font-family: Helvetica;
    font-style: normal;
    font-weight: bold;
    font-size: 18px;
    line-height: 23px;
    color: #566ED0;
}
.phone a {
    color: #566ED0;
}
li {
    list-style-type: none;
}
.header-img {
    background: url(http://localhost/12steps/wp-content/uploads/2020/03/1l2a5955-1.png);
    height: 619px;
    background-size: cover;
}
.header-img-2 {
    background: url(http://localhost/12steps/wp-content/uploads/2020/03/l2.png);
    height: 619px;
    background-size: cover;
}
.header-img-3 {
    background: url(http://localhost/12steps/wp-content/uploads/2020/03/l3.png);
    height: 619px;
    background-size: cover;
}
.header-img-4 {
    background: url(http://localhost/12steps/wp-content/uploads/2020/03/1858.png);
    height: 619px;
    background-size: cover;
}
.header-img-5 {
    background: url(http://localhost/12steps/wp-content/uploads/2020/04/14.png);
    height: 619px;
    background-size: cover;
}
.text-in-head {
    min-height: 300px;
    font-family: Helvetica;
    font-style: normal;
    font-weight: normal;
    font-size: 36px;
    color: #696D7C;
    line-height: 52px;
    text-transform: uppercase;
}
.button-1 {
width: 190px;
height: 45px;
border: 2px solid #4396D9;
box-sizing: border-box;
font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 18px;
color: #000;
border-radius: 0px;
}
.button-3 {
    width: 295px;
height: 45px;
border: 2px solid #fff;
box-sizing: border-box;
font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 18px;
color: #fff;
border-radius: 0px;
}
.button-4 {
width: 362px;
height: 45px;
border: 2px solid #fff;
box-sizing: border-box;
font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 18px;
color: #fff;
background: #4396D9;
border-radius: 5px;
margin-top: 25px;
margin-bottom: 25px;
}
.button-4:hover {
color: #FFFFFF;
}
.button-3:hover {
background: #4396D9;
color: #FFFFFF;
}
.button-1:hover {
background: #4396D9;
color: #FFFFFF;
}
.button-2 {
width: 190px;
height: 45px;
background: #4396D9;
font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 18px;
color: #FFFFFF;
border-radius: 0px;
}
.button-2:hover {
background: #4396D9;
color: #000;
border: 2px solid #4396D9;
}
.navbar-light .navbar-nav .active>.nav-link {
    color: #fff;
    font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 21px;
}
.navbar-light .navbar-nav .nav-link {
    color: #fff;  
    font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 21px;
}
.nav-link {
    color: #fff;
    font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 21px;  
}
.nav-link:hover {
    color: rgba(0,0,0,.7);
}
.dropdown-menu {
    border-radius: 0px; 
}
.dropdown-item.active, .dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: #566ED0;
}
hr {
    width: 50px;
border: 2px solid #FFFFFF;
}
.text-in-bot-head {
    min-height: 225px;
    font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 20px;
line-height: 30px;
text-align: center;
color: #FFFFFF;
}
.middle {
    top: 30%;
}
.header-up {
    position: relative;
    top: -145px;
}
.title {
    font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 24px;
line-height: 36px;
text-transform: uppercase;
color: #696D7C;
}
.text {
font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 27px;
color: #000;
}
.text a{
font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 27px;
color: #858A9F;
}
.img {
    width: 100%;
}
.archive-mob {
height: 45px;
}
.new-section {
    margin-bottom: 25px;
    margin-top: 25px;
    padding-top: 30px;
    padding-bottom: 30px;
}
.new-section-foo {
    margin-bottom: 25px;
    margin-top: 25px;
    padding-top: 30px;
    padding-bottom: 0px;
}
.mumber-v2 {
    font-family: Helvetica;
  font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 27px;
text-transform: uppercase;
color: #5FD5CD;
text-align: left;
float: left;
}
.mumber {
    font-family: Helvetica;
  font-style: normal;
font-weight: normal;
font-size: 24px;
line-height: 36px;
text-transform: uppercase;
color: #5FD5CD;
text-align: left;
float: left;
}
.title-w {
       font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 24px;
line-height: 36px;
text-transform: uppercase;
color: #fff;
text-align: center;
margin-top: 25px;
margin-bottom: 25px;
}
.title-w-v1 {
       font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 24px;
line-height: 36px;
text-transform: uppercase;
color: #fff;
text-align: center;
margin-top: 25px;
margin-bottom: 25px;
}
.text-w {
font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 27px;
color: #fff;
}
.text-w p {
   color: #fff; 
}
.text-w-v1 {
font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 27px;
color: #fff;
}
.background {
background: url(http://localhost/12steps/wp-content/uploads/2020/03/image-24.png);
    background-size: cover;
}
.background-v1 {
background: url(http://localhost/12steps/wp-content/uploads/2020/03/ip9lxr7kk-1.png);
    background-size: cover;
}
.background-v3 {
background: url(http://localhost/12steps/wp-content/uploads/2020/03/igromaniya-8-1.png);
    background-size: cover;
}
.background-v4 {
background: url(http://localhost/12steps/wp-content/uploads/2020/04/image-30.png);
    background-size: cover;
}
.background-v5 {
background: url(http://localhost/12steps/wp-content/uploads/2020/04/image-31.png);
    background-size: cover;
}
.background-v6 {
background: url(http://localhost/12steps/wp-content/uploads/2020/04/0-167-1.png);
    background-size: cover;
}
.background-1 {
background: url(http://localhost/12steps/wp-content/uploads/2020/03/image-25.png);
    background-size: cover;
}
.block-class {
    margin-bottom: 25px;
    margin-top: 25px;
    padding-top: 50px;
    padding-bottom: 50px;
}
.button-services {
    width: 100%;
    border-radius: 0px;
    background: #566ED0;
    text-align: left;
    color: #fff; 
    margin-top: 8px;
    margin-bottom: 8px;
    height: 48px;
    font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 27px; 
}
.button-services:hover {
    background: #485CA3;
    color: #fff;
}
.icon {
    border: 2px solid #5FD5CD;
box-sizing: border-box;
transform: rotate(-45deg);
width: 11px;
height: 11px;
float: left;
position: relative;
    top: 7px;
    right: 30px;
}
.link-mass {
    float: right;
    padding-left: 10px;
    padding-right: 10px
}
.icon-link {
    float: left;
font-family: Helvetica;
font-style: normal;
font-weight: bold;
font-size: 24px;
line-height: 27px;
color: #858A9F;
}
.artic {
    float: left; 
    text-align: left; 
    width: 100%;
}
.title-f {
    font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 16px;
line-height: 24px;
text-align: center;
color: #858A9F;
}
.img-f {
    height: 72px;
    width: 72px;
}
.heigth-foo {
    min-height: 174px;
}
.foo-phone a {
font-family: Helvetica;
font-style: normal;
font-weight: 300;
font-size: 18px;
line-height: 21px;
color: #FFFFFF;
}
.foo-link a{
    font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 12px;
line-height: 18px;
color: #FFFFFF;
}
.form-title {
font-family: Helvetica;
font-style: normal;
font-weight: bold;
font-size: 24px;
line-height: 36px;
color: #363636;
text-align: center;
}
.form-text {
font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 36px;
color: #696D7C;
text-align: center;

}
.form-control {
font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 16px;
line-height: 36px;
color: #696D7C;
border-bottom: 1px solid #566ED0!important;
padding: 0px; 
border-radius: 0px;
}
.modal-header, .modal-footer {
    border-bottom: 0px;
    border-top: 0px;
}
.modal-dialog {
    max-width: 610px;
    background: #FFFFFF;
border-radius: 5px;
}
.wpcf7-form-control {
    border: 0px;
}
.wpcf7-textarea {
    border: 1px solid #566ED0!important;
height: 134px!important;
}
.modal-body {
    text-align: center;
    width: 400px;
    margin-left: auto;
    margin-right: auto;
    padding: 0px;
}
label {
text-align: left;
    width: 100%;
    margin-top: 10px;
    font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 16px;
line-height: 36px;
color: #696D7C;
}
.modal-body-1 {
margin-top: 15px;
}
.top120 {
    height: 123px;
}
@media screen and (max-width: 768px) {
    img {
width: 100%;
}
.modile-mar {
    margin-top: 150px;
}
.muber-g {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 25px;
}
.our-s-border {
    margin-left: auto!important;
    margin-right: auto!important;
}
.color-block {
    padding: 20px!important;
}
.color-title {
    font-size: 18px;
line-height: 27px;
}
.m-none {
    display: none;
}
.text-in-bot-head {
    min-height: auto;
}
.top120 {
    height: auto;
    padding: 0px;
}
.header-up {
    position: relative;
    top: 0;
}
.title{
font-size: 20px;
line-height: 30px;
text-align: center;
}

.text {
    font-size: 18px;
line-height: 27px;
}
.col-md-5 {
    padding-right: 0px;
    padding-left: 0px;
}
.icon {
top: 9px;
    right: 0px;
}
.col-md-1 {
/*display: none;
*/}
.archive-mob {
height: 20px;
}
.icon-link {
    position: absolute;
    left: 40px;
}
.mob-news {
    margin-top: 10px;
    margin-bottom: 10px;
}
.mob-4 {
    width: 50%;
}
.button-3, .text-w, .title-w  {
        margin-top: 20px;
    margin-bottom: 20px;
}
.foo-link {
    width: 50%;
}
.foo-phone {
    text-align: center;
}
.link-mass {
    float: center;
    padding-left: 10px;
    padding-right: 10px
}
.foo-link {
    font-size: 8px;
line-height: 12px;
}
.footer-mass {
    width: 120px;
    margin-left: auto;
    margin-right: auto;
}
.header-img {    
    background: linear-gradient( rgba(255, 255, 255, 0.62), rgba(255, 255, 255, 0.42) ), url(http://localhost/12steps/wp-content/uploads/2020/03/1l2a5955-1.png);
    height: 500px;
    background-size: cover;
    background-position: center;
}
.header-img-2 {    
    background: linear-gradient( rgba(255, 255, 255, 0.62), rgba(255, 255, 255, 0.42) ), url(http://localhost/12steps/wp-content/uploads/2020/03/l2.png);
    height: 500px;
    background-size: cover;
    background-position: center;
}
.header-img-3 {    
    background: linear-gradient( rgba(255, 255, 255, 0.62), rgba(255, 255, 255, 0.42) ), url(http://localhost/12steps/wp-content/uploads/2020/03/l3.png);
    height: 500px;
    background-size: cover;
    background-position: center;
}
.header-img-4 {    
    background: linear-gradient( rgba(255, 255, 255, 0.62), rgba(255, 255, 255, 0.42) ), url(http://localhost/12steps/wp-content/uploads/2020/03/1858.png);
    height: 500px;
    background-size: cover;
    background-position: center;
}
.header-img-4 {    
    background: linear-gradient( rgba(255, 255, 255, 0.62), rgba(255, 255, 255, 0.42) ), url(http://localhost/12steps/wp-content/uploads/2020/04/14.png);
    height: 500px;
    background-size: cover;
    background-position: center;
}
.header-center {
    text-align: center;
    margin-top: 10px;
    margin-bottom: 10px;
}
.header-title {
    text-align: center;
    font-size: 24px;
    top: 60px;
}
.logo {
    width: 100%;
}
.header-mass {
    width: 31px;
}
.mobile-version-header {
    display: block;
}
.desktop-version-header {
    display: none;
}
.dropdown-menu {
    left: -320px;
    width: 395px;
}
.heigth-foo {
    text-align: center;
}
.text-logo {
    font-size: 12px;
line-height: 18px;
color: #FFFFFF;
}
.wi-nav-1 {
float: left;
padding: 10px; 
    padding-top: 17px;
    padding-bottom: 17px;
}
.wi-nav-2 {
    width: 181px;
float: left;
padding: 10px;
}
.wi-nav-3 {
width: 70px;
float: right;
padding: 10px; 
    padding-top: 17px;
    padding-bottom: 17px;
}
.wi-nav-4 {
width: 50px;
float: right;
padding: 10px; 
    padding-top: 17px;
        padding-bottom: 17px;
}
#dropdownMenuLink, .nav-link {
    padding:0px; 
}
.text-logo p {
    margin: 0px;
}
.phone {
    font-size: 16px;
line-height: 18px;
margin-top: 10px;
margin-bottom: 10px;
}
.phone a {
color: #666666;
}
.text-in-head {
    min-height: 333px;
}
.icon-link {
    font-size: 18px;
line-height: 27px;
}
.modal-body, .button-1, .button-2, .button-3, .button-4 {
    width: 266px;
    font-size: 16px;
}
}
.ul-h {
    padding-left: 20px;
    font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 27px;
  
}
.ul-h-v1 {
      padding-left: 20px;
    font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 27px;  
}

.ul-h li {
  list-style-type: disc;  
 
}
li {
 color: #566ED0;
}
li span {
 color: #858A9F;
}

.text-w-v1 li {
 color: #5FD5CD;
}
.ul-h-v1 li {
    color: #fff;
    list-style-type: circle;
}
.l2-aling {
font-weight: bold;
font-size: 16px;
line-height: 27px;
text-align: center;
color: #858A9F;
}
.tabl-1 {
    width: 100%;
    font-size: 18px;
line-height: 27px;

}
.tabl-1-1 {
    width: 40px;
    float: left;
    border: 1px solid #D7D7D7;
height: 40px;
    padding: 5px;
    text-align: center;
        border-top: 1px solid #D7D7D7;
    border-bottom: 1px solid #D7D7D7;
    border-left:  1px solid #D7D7D7;  
    border-right: 0px;
    font-weight: bold;
    color: #566ED0;

}
.tabl-1-2 {
width: 566px;
float: left;
    border-top: 1px solid #D7D7D7;
    border-bottom: 1px solid #D7D7D7;
    border-left:  1px solid #D7D7D7;  
    border-right: 0px;
height: 40px;
    padding: 5px;
    text-align: left;
    color: #858A9F;
}
.tabl-1-3 {
width: 190px;
float: left;
    border: 1px solid #D7D7D7;
 height: 40px;  
     padding: 5px;
    text-align: center; 
    color: #858A9F;

}
.tabl-1-1 .tabl-1-1 .tabl-1-1 {
    float: left;
}

.tabl-2-1 {
    width: 40px;
    float: left;
height: 40px;
    padding: 5px;
    text-align: center;
     border-top: 0px;
    border-bottom: 0px;;
    border-left:  1px solid #D7D7D7;  
    border-right: 0px;
    font-weight: bold;
    color: #566ED0;

}
.tabl-2-2 {
width: 566px;
float: left;
 border-top: 0px;
border-top: 0px;
    border-left:  1px solid #D7D7D7;  
    border-right: 0px;
height: 40px;
    padding: 5px;
    text-align: left;
    color: #858A9F;
}
.tabl-2-3 {
width: 190px;
float: left;
border-top: 0px;
border-top: 0px;
   border-bottom: 0px;
    border-left:  1px solid #D7D7D7; 
    border-right:  1px solid #D7D7D7; 
 height: 40px;  
     padding: 5px;
    text-align: center; 
    color: #858A9F;
}
.table-cont {
font-weight: bold;
font-size: 14px;
line-height: 17px;
text-align: right;
color: #858A9F;
}
.color-title {
font-size: 24px;
line-height: 36px;
color: #858A9F;
font-family: Helvetica;
font-style: normal;
text-transform: uppercase;
}
.color-title b {
    color: #566ED0;
    font-weight: bold;
}
.color-block {
    background: rgba(86, 110, 208, 0.1);
border-radius: 4px;
padding-top: 30px;
padding-bottom: 30px;
padding-left: 70px;
padding-right: 70px;
}
.our-s-border {
    min-height: 446px;
    background: #FFFFFF;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
margin-right: 7px;
margin-left: 7px;
margin-top: 20px;
margin-bottom: 20px;
max-width: 295px;
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
}
.doctors__buttons {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
}
.imgage-our {
    margin-top: 30px;
    margin-bottom: 20px;
border-radius: 50%;
margin-left: auto;
margin-right: auto;
text-align: center;
}
.mane-our {
    width: 100%;
    text-align: center;
    font-weight: bold;
font-size: 14px;
line-height: 23px;
text-align: center;
text-transform: uppercase;
color: #566ED0;
font-family: Helvetica;
font-style: normal;
}
.text-our {
        width: 100%;
    text-align: center;
    font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 14px;
line-height: 22px;
text-align: center;
color: #858A9F;
}
.kama_breadcrumbs {
    font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 27px;
color: #858A9F;
}
.kama_breadcrumbs a{
    font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 27px;
color: #566ED0;
}
.muber-g {
    width: 75px;
    padding: 23px;
    height: 75px;
    border-radius: 50%; 
    background: rgba(86, 110, 208, 0.5);
}
.muber-g span {
  font-family: Helvetica;
font-style: normal;
font-weight: bold;
font-size: 36px;
line-height: 27px;
text-transform: uppercase;
color: #FFFFFF;  
}
.galer {
    margin-bottom: 15px;
}
.forma-foo {
    background: #4396D9;
    border-radius: 5px;
    width: 100%;
    height: auto!important;
    padding-bottom: 10px;
    margin-top: 30px;
    margin-bottom: 30px;
    padding-top: 35px 
}
.fo-title {
    font-family: Helvetica;
font-style: normal;
font-weight: bold;
font-size: 24px;
line-height: 36px;
text-align: center;
color: #FFFFFF;
margin-bottom: 10px;
width: 100%;

}
.fo-forma {
    text-align: center;
}
.text-150-1, .menu-676 {
    background: rgba(255, 255, 255, 0.5);
    font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 27px;
color: #868686;
height: 43px;
width: 400px;
margin-top: 10px;
margin-bottom: 10px;
padding-top: 8px;  
padding-bottom: 8px; 
padding-left: 20px; 
padding-right: 20px; 
border-radius: 0px!important;
}
.menu-676-1 {
    background: rgba(255, 255, 255, 0);
    width: 360px;
        font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 27px;
color: #000;
height: 43px;
margin-top: 10px;
margin-bottom: 10px;
padding-top: 8px;  
padding-bottom: 8px; 
padding-left: 20px; 
padding-right: 20px; 

border-radius: 0px!important;
}
.button-foo {
    font-family: Helvetica;
font-style: normal;
font-weight: bold;
font-size: 16px;
line-height: 36px;
text-align: center;
color: #FFFFFF;
border: 1px solid #000;
width: 80%;
margin: 0 auto;
height: 45px;
border-radius: 0px; 
margin-top: 10px;
display: block;
}
.button-foo:hover {
color: #FFFFFF;
background: #43CED9;
}
.fo-text {
font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 27px;
text-align: center;
color: #4C4E59;
width: 360px;
margin-left: auto;
margin-right: auto;
margin-top: 20px;
margin-bottom: 20px;

}

.menu-676 span {
    height: 43px!important;
}

@media screen and (max-width: 768px) {
    .text-150-1, .fo-text {
width: 300px;
}
.paddin {
    margin-left: 0px; 
}

.menu-676-1 {
width: 260px;
padding: 0px;

}
.menu-676 {
    width: 300px;
}
.kama-br {
    margin-top: 150px;
    margin-bottom: 25px;
}
}

.kama-br {
    margin-bottom: 25px;
    margin-top: 25px;
}


p {
font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 27px;
color: #000;
}

.barg {
    margin-top: 30px;
}
.title-v3 {
font-family: Helvetica;
font-style: normal;
font-weight: bold;
font-size: 44px;
line-height: 36px;
text-transform: uppercase;
color: #505259;
}
.title-v4 {
    font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 24px;
line-height: 31px;
text-transform: capitalize;
color: #696D7C;
}

.header-img-v1 {
    background: url(http://localhost/12steps/wp-content/uploads/2020/04/vyvlechitsya-ot-alkogolizma-1200x799-1.png);
    min-height: 385px;
    background-size: cover;
}
.paddin {
    margin-left: 100px; 
}
.header-img-v2 {
    background: url(http://localhost/12steps/wp-content/uploads/2020/04/dsc_6748-1.png);
    background-size: cover;
}
.skobka {
    font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 64px;
line-height: 27px;
color: #FBAC35;
}
.skobka-2 {
    font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 64px;
line-height: 0px;
color: #FBAC35;
}


.block-1 {
    width: 354px;
    background: #566ED0;
    border-radius: 4px;
    margin-right: auto;
    margin-left: auto;
    font-family: Helvetica;
    font-style: normal;
    font-weight: normal;
    font-size: 18px;
    line-height: 27px;
    color: #FFFFFF;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 35px;
    padding-right: 35px;
    margin-top: 20px;
    margin-bottom: 20px;
}
.block-2 {
    font-family: Helvetica;
    font-size: 18px;
    line-height: 27px;
    color: #FFFFFF;
    text-align: center;
    background: #566ED0;
    border-radius: 4px;
    padding: 18px;
    margin: 11px;

}
.blu-block {
    max-width: 400px;
    height: 426px;
    background: linear-gradient(90deg, #3E5ACA 0%, #5671DE 100%);
    border-radius: 10px;
    padding-left: 30px; 
    padding-right: 30px; 
    padding-bottom: 40px;
    padding-top: 40px;
    margin-left: auto;
    margin-right: auto;
}
.blu-block-title {
    font-family: Helvetica;
font-style: normal;
font-weight: bold;
font-size: 24px;
line-height: 27px;
color: #FFFFFF;
margin-bottom: 59px; 
}
.blu-block-descr {
    font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 27px;
color: #FFFFFF;
}
.otaiv {
    width: 100%;
    background: #E6F3FF;
    border-radius: 10px;
}
.skobka01 {
    font-family: Neucha;
font-style: normal;
font-weight: normal;
font-size: 64px;
line-height: 70px;
text-align: center;
color: #3CA1D9;
}

.news-img {
 text-align: center;
 width: 100%;
 height: auto;
}
.news-img img {
width: 100%;
 height: auto;
}
.news-title {
 margin-top: 10px;
 margin-bottom: 10px;
}
.news-text {

}
.news-button {

}

.news-hr {
    border: 1px solid #FBAC35;
    width: 50%;
    text-align: center;
}

.news, .widget-area {
    padding: 25px;
    margin: 25px;
    background: #FAFAFA;
}
.widget-title {
        font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 24px;
line-height: 36px;
text-transform: uppercase;
color: #696D7C;
}
.fo-text a {
  font-family: Helvetica;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 27px;
text-align: center;
color: #4C4E59;
width: 360px;
margin-left: auto;
margin-right: auto;
margin-top: 20px;
margin-bottom: 20px;  
}






@media screen and (max-width: 768px) {
    .title-v3 {
font-size: 20px;
line-height: 30px;
text-align: center;
}
.paddin {
        margin-left: 20px;
}
.mobile-maget {
    margin-right: 20px;
    margin-left: 20px;
}
.mobile-sf {
 text-align: center;
 float: none!important;
}
.mobile-411 img {
    width: 40px;
    float: left;
}
.mobile-411 {
    width: 20%;
    float: left;
    padding-top: 20px; 
}

.mobile-412 {
    width: 80%!important;
    float: left;
}
.mobile-41x {
    width: 100%;
    text-align: center;
    padding-top: 0px; 
}
.mobile-41x img {
    width: 40px;
}
.mobile-1314 {
        float: left;
    height: auto;
    width: 100%!important;
    margin: 0px!important;
}
.new-section-g {
    margin-bottom: 0px!important;
    margin-top: 0px!important;
    padding-top: 10px!important;
    padding-bottom: 10px!important;
}
.mobile-k51 img {
width: 50%;
}
.mobile-k51 {
    text-align: center;
}
.mobile-k141 img{
    padding: 10px; 
}
.block-1 {
    width: 100%;
}
.mobile-351 {
 padding: 10px;
}
}





.mobile-sf {
    float: left;
}

.mobile-1314 {
    float:left; 
    height:265px; 
    width:400px;
    margin: 10px;
}
.new-section-g  {
    margin-bottom: 25px;
    margin-top: 25px;
    padding-top: 30px;
    padding-bottom: 30px;
}


.trp-language-switcher {
  font-family: Helvetica;
    font-style: normal;
    font-weight: normal;
    font-size: 18px;
    line-height: 21px;  
}



@media only screen and (max-width: 768px) {
	.wi-nav-3 { width: 10px }
	.mega-menu-wrap .mega-menu-toggle { background: #566ED0 !important }
	.mega-menu-wrap UL.mega-menu { position: absolute !important; right: 0 !important; width: 300px !important; z-index: 100 !important; top: 55px !important }
	.mega-menu-wrap UL.mega-menu > LI > A.mega-menu-link { background: #566ED0 !important; font-size: 16px !important }
}

/* Мои стили */
* {
    font-family: Helvetica;
}
button {
    outline: none;
    border: none;
    background-color: transparent;
    transition: all .5s;
    cursor: pointer;
}
header {
    position: relative;
}
.header__top {
    padding-bottom: 10px;
    border-bottom: 1px solid #F1F1F1;
    margin-bottom: 10px;
}
.header__row{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.header__call {
    font-weight: 600;
    font-size: 14px;
    color: #4396D9;
    position: relative;
    border-bottom: 1px solid rgba(124, 185, 58, 0.3);
    cursor: pointer;
    padding: 0;
    
}
.header__address,
.header__time,
.footer__address,
.footer__time {
    font-size: 13px;
    color: #212121;
    display: flex;
    align-items: center;
    gap: 10px;
}
.footer__address,
.footer__phone a {
    color: #fff
}
.header__social {
    display: flex;
    align-items: center;
    gap: 10px;
}
.header__num,
.footer__num {
    color: #4396D9;
    font-size: 20px;
    text-decoration: none;
    display: flex;
    white-space: nowrap;
}
.header__bottom-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 7px;
}
.header__bottom-contacts {
    display: flex;
    flex-direction: column;
    gap: 7px;
    align-items: center;
}
.header__logo,
.footer__logo {
    display: flex;
    align-items: center;
    gap: 5px;
}
.header__logo img,
.footer__logo img {
    max-width: 125px;
    width: 100%;
}
.footer__logo svg {
    fill: #fff;
    max-width: 150px;
    width: 100%;
}
.header__bottom-contacts span {
    color: #4396D9;
    font-style: italic;
    font-size: 12px;
    text-align: center;
}
.menu-item-has-children {
    position: relative;
    padding-right: 10px;
}
nav>.menu-top_menu-container>ul {
    display: -ms-flex;
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 0;
    margin: 0;
    position: relative;
}
nav>.menu-top_menu-container>ul>li>a {
    color: #43CED9;
    font-size: 16px;
}
nav>.menu-top_menu-container>ul>li>ul {
    background: #fff;
    border: 1px solid #efefef;
    border-top: none;
    display: none;
    left: 0;
    padding: 15px 0;
    position: absolute;
    top: 100%;
    z-index: 200;
}
nav>.menu-top_menu-container li:hover>.sub-menu {
    display: block;
}
.menu-item-has-children:before {
    content: "";
    display: block;
    position: absolute;
    bottom: 50%;
    right: 0;
    width: 6px;
    height: 6px;
    border-right: 3px solid #43CED9;
    border-top: 3px solid #43CED9;
    transform: rotate(135deg) translate(0 ,-50%);
    transition: all .5s;
}
.menu-item-has-children:hover:before {
    border-color: #f69521;
}
nav>.menu-top_menu-container>ul>li>ul>li a {
    color: #666;
    display: block;
    font-size: 16px;
    padding: 5px 15px;
    white-space: nowrap;
}
nav>.menu-top_menu-container>ul>li>ul>li .sub-menu {
    background: #efefef;
    border: 1px solid #efefef;
    border-top: none;
    display: none;
    left: 100%;
    overflow-y: auto;
    padding: 15px 0;
    position: absolute;
    top: -15px;
    z-index: 200;
}
nav>.menu-top_menu-container li:hover>.sub-menu {
    display: block;
}
.sub-menu .menu-item-has-children:before {
    right: 10px;
}
.header__bottom-contacts-button.btn {
    background: #4396D9;
    border-radius: 25px;
}
footer {
    background-color: #004461;
    padding: 20px 0 65px;
}
#navButton {
    width: 45px;
    height: 40px;
    position: relative;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
    /* margin-left: auto; */
}
#navButton span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: #4396D9;
    border-radius: 9px;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
    
}
#navButton span:nth-child(1) {
    top: 0;
}
#navButton span:nth-child(2) {
    top: 14px;
}
#navButton span:nth-child(3) {
    top: 28px;
}
.open #navButton span:nth-child(3) {
    top: 14px;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}
.open #navButton span:nth-child(2) {
    opacity: 0;
    left: -60px;
}
.open #navButton span:nth-child(1) {
    top: 14px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}
.open {
    overflow: hidden;
}
.open .header__mobile-menu {
    z-index: 1000;
    -webkit-transform: translate(0,0px);
    transform: translate(0,0px);
    visibility: visible;
    opacity: 1;
}
.header__mobile-menu {
    position: absolute;
    top: 141px;
    height: calc(100vh - 141px);
    left: 0;
    z-index: -1;
    -webkit-transform: translate(0,30px);
    transform: translate(0,30px);
    visibility: hidden;
    opacity: 0;
    background: url(./images/bg_main_menu.webp) center center / cover no-repeat;
    /* height: 100%; */
    width: 100%;
    padding: 22px 0;
    background-size: cover;
    -webkit-transition: .5s;
    transition: .5s;
    -webkit-box-shadow: 0 10px 10px 0 rgba(0,0,0,.1);
    box-shadow: 0 10px 10px 0 rgba(0,0,0,.1);
    overflow-y: auto;
}
/* Ширина скроллбара */
*::-webkit-scrollbar {
    width: 10px;
  }
  
  /* Цвет фона скроллбара */
 *::-webkit-scrollbar-track {
    background-color: #f1f1f1;
  }
  
  /* Цвет "ручки" скроллбара */
  *::-webkit-scrollbar-thumb {
    background-color: #888;
  }
  
  /* Цвет "ручки" скроллбара при наведении */
  *::-webkit-scrollbar-thumb:hover {
    background-color: #555;
  }
  
  .header__mobile-menu .menu>.menu-item,
  .footer__menu .menu>.menu-item {
    width: 24%;
    display: inline-block;
    vertical-align: top;
    margin-bottom: 30px;
}
.footer__button-call {
    background: #43CED9;
    border-radius: 25px;
    width: fit-content;
    color: #fff;
    white-space: nowrap;
}

@media screen and (max-width: 767px) {
.header__mobile-menu .menu>.menu-item,
.footer__menu .menu>.menu-item {
    width: 32%;
}
}
@media screen and (max-width: 575px) {
.header__mobile-menu .menu>.menu-item,
.footer__menu .menu>.menu-item {
    width: 100%;
    text-align: center;
    margin-bottom: 20px;

}
.footer__menu .menu>.menu-item>a {
    display: block;
    margin: 0 auto;
}
}
.header__mobile-menu .menu>.menu-item .menu-item a,
.footer__menu .menu>.menu-item .menu-item a {
    display: inline-block;
    padding: 3px 0;
    color: #000;
    font-size: 14px;
}
.footer__menu .menu>.menu-item .menu-item a {
    color: #fff;
}
.main_menu_block .menu>.menu-item>a,
.footer__menu .menu>.menu-item>a {
    color: #1f96d9;
    font-size: 14px;
}
.footer__menu .menu>.menu-item>a {
    color: #43CED9;
    font-weight: 700;
}
.main_menu_block .menu>.menu-item .menu-item,
.footer__menu .menu>.menu-item .menu-item {
    line-height: 1.2em;
}
.menu {
    padding: 0;
}
.menu .sub-menu {
    padding: 0;
}
.menu .menu-item-has-children:before,
.header__bottom-contacts .header__num {
    display: none;
}
.footer__wrapper {
    display: flex;
    gap: 70px;
    justify-content: space-between;
}
.footer__info {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.header__bottom {
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.136);
}
@media screen and (max-width: 1023px) {
    .header__nav,
    .header__top {
        display: none;
    }
    #navButton {
        margin-left: auto;
    }
    header {
        padding: 12px 0;
    }
    .header__mobile-menu {
        top: 94px;
        height: calc(100vh - 94px);
    }
}
@media screen and (max-width: 767px) {
    
    .header__bottom-contacts .button-2 {
        width: fit-content;
        order: 2;
        height: fit-content;
        padding: 7px;
        font-size: .7em;
    }
    .header__bottom-contacts {
        margin-left: auto;
        flex-direction: column-reverse;
        align-items: center;
    }
    .header__bottom-contacts .header__num {
        display: block;
    }
    #navButton {
        margin-left: inherit;
        order: 3;
    }
    .header__bottom-contacts span {
        display: none;
    }
    .header__mobile-menu {
        top: 84px;
        height: calc(100vh - 84px);
        padding-bottom: 100px;
    }
    .header__bottom-contacts .header__num {
        display: block;
        font-size: 13px;
    }
    .header__bottom-wrapper {
        gap: 15px;
    }
    .footer__wrapper {
        flex-direction: column;
        gap: 25px;
        align-items: center;
    }
    .footer__info {
        align-items: center;
    }
}
@media screen and (max-width: 348px) {
    .header__bottom-contacts {
        display: none;
    }
    .header__mobile-menu {
        top: 64px;
        height: calc(100vh - 64px);
    }
}

.main {
    background: url(./images/main_bg.jpg) center center / cover no-repeat;
    min-height: 600px;
    padding: 20px 0;
    background-size: 100% 100%;
}
@media screen and (max-width:1023px) {
	.main {
    	background-size: cover;
    }
}
.main__container {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-height: 560px;
    align-items: center;
}
.main__container .header__bottom-contacts-button {
    margin-top: auto;
}
.main__container .header__bottom-contacts-button:hover {
    color: #fff;
    border: none;
}
.main__title {
    font-size: 2.5em;
    color: #00adff;
}
.main__title span {
    color: #4396D9;
}
.main__description {
    max-width: 550px;
    width: 100%;
    font-size: 16px;
    color: #fff;
}
.main__container {
    color: #b6b6b6;
}

.advantages-section{
    margin-bottom: 50px;
    padding-top: 108px;
}
@media screen and (max-width: 767px) {
    .advantages-section {
        padding-top: 40px;
    }
}
.advantages__holder-content{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;

}
.title{
    font-size: 20px;
   
    margin-bottom: 43px;
    line-height: 110%;
    font-weight: 700;
    color: #212121;
    margin-bottom: 16px;
}
.advantages__holder-content-item{
    background: #fff;
    box-shadow: 0 15px 30px rgba(0,0,0,.1);
    height: auto;
    min-height: 187px;
    border-radius: 16px;
    padding: 10px;
}
.advantages__holder-content-item img{
    max-width: 48px;
    max-height: 48px;
    min-width: 48px;
    min-height: 48px;
    width: 100%;
    height: 100%;
    margin-bottom: 15px;
}
.advantages__holder-content-item div{
    display: flex;
    flex-direction: column;
    gap: 10px;
    color: #212121;
}
.advantages__holder-content-item div span{
    font-weight: 700;
    line-height: 110%;
    
    font-size: 18px;
}
.advantages__holder-content-item div p{
    line-height: 130%;
    font-size: 14px;
}
.stage{
    background-color: #fff;
}
.stage__container{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin-bottom: 100px;
    position: relative;
}

.stage__container h2{
    font-weight: 400;
    font-size: 39px;
    line-height: 50px;
    text-align: center;
    color: #4396D9;
    margin-bottom: 65px;

}

.stage__container-wrap{
    display: flex;
    align-items: stretch;
    max-width: 92%;
    gap: 40px;
}
.stage__container-wrap-list{
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 460px;
    width: 100%;
}
.stage__container-wrap-list-item{
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #43CED9;
    border-radius: 10px;
    max-width: 100%;
    width: 100%;
    font-weight: 450;
    font-size: 18px;
    line-height: 23px;
    text-align: center;
    color: #333333;
    padding: 15px;
    cursor: pointer;
}
.stage__container-wrap-list-item.active{
    background: #43CED9;
    border-color: #43CED9;
    color: #fff;
}
.stage__container-wrap-content{
    display: none;
    flex-direction: column;
    max-width: 732px;
    width: 100%;
    background: #F3F3F3;
    border-radius: 15px;
    padding: 40px;
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    color: #333333;
    gap: 25px;
}
@media screen and (max-width: 767px) {
    .stage__container-wrap-content {
        padding: 20px 10px;
    }
    .stage__container-buttons {
        display: none;
    }
    body .stage__container-wrap{
        max-width: 100%;
        width: 100%;
    }
    .stage__container-wrap-list {
        padding: 0;
    }
    body .stage__container-wrap-list-item {
        max-width: 70%;
        width: 100%;
        min-width: 65%;
        padding: 7px;
        font-size: 14px;
        line-height: 16px;
    }
    .stage__container-wrap-list {
        min-width: calc(100vw - 15px);
        margin-right: -7.5px;
    }
}

.stage__container-wrap-content img{
    border-radius: 10px;
    min-height: 196px;
    max-height: 196px;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    margin-bottom: 10px;
}
.stage__container-wrap-content h3{
    font-weight: 450;
    font-size: 25px;
    line-height: 31px;
}
.stage__container-wrap-content p{
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
}

.stage__container-wrap-content .btn{
    max-width: 230px;
    width: 100%;
    padding: 8px 20px 8px;
    background-color: #43CED9;
    opacity: 0.82;
    text-align: center;
    display: block;
   transition: .3s ease;
   color: #fff;
    font-weight: 700;
    font-size: 14px;
    margin-top: auto;
}
.stage__container-wrap-content .btn:hover{
   opacity: 1;
}

.stage__container-buttons{
    width: 100%;
    position: absolute;
    top: 50%;
    
}
.stage-btn{
    position: absolute;
    top: 0;
    left: 0;
    width: 46px;
    height: 46px;
    cursor: pointer;

}

.stage-btn.left{
    background: url(./images/left.svg) center center / cover no-repeat;
}
.stage-btn.right{
    background: url(./images/right.svg) center center / cover no-repeat;
    left: inherit;
    right: 0;
}
@media screen and (min-width: 768px){
    .advantages-section{
        margin-bottom: 60px;
    }
.title {
    font-size: 30px;
    margin-bottom: 30px;
}
.advantages__holder-content-item  {
    padding: 20px;
    border-radius: 24px;
    
}
}

@media screen and (min-width: 1024px){
    .advantages-section{
        margin-bottom: 70px;
    }
    .title {
        font-size: 40px;
        margin-bottom: 43px;
    }
  
}
@media screen and (min-width: 1440px){
    .advantages-section{
        margin-bottom: 108px;
    }
  
}
@media screen and (max-width:1023px) {
    .stage__container-wrap {
        flex-direction: column;
        max-width: 100%;
        width: 90%;
        align-items: center;
    }
    .stage__container-wrap-list {
        overflow: hidden;
        overflow-x: scroll ;
        flex-direction: row;
        max-width: 100%;

    }
    .stage__container-wrap-list-item {
       min-width: fit-content;
    }
}
@media screen and (max-width:768px) {
    .advantages__holder-content{
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    
    }
    .advantages__holder-content-item  {
        padding: 20px;
        border-radius: 24px;
        height: 100%;
    }

}
@media screen and (max-width:440px) {
    .advantages__holder-content{       
        grid-template-columns:  1fr;
    
    }
    
}
@media screen and (max-width:368px) {
    .advantages__holder-content-item div span {
        font-size: 16px;
    }
    .advantages__holder-content-item div p{
        font-size: 12px;
    }
    
}

/* Секція Сервіс */

.services{
    padding: 108px 0;
    background-color: #eafafc;

}
@media screen and (max-width:767px) {
    .services{
        padding: 50px 0;
    }
}
.services__container-wrap{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
@media screen and (max-width:1023px) {
    .services__container-wrap{
        grid-template-columns: repeat(2, 1fr);
    }
}

.services__container-wrap-item{
    cursor: pointer;
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 24px;
    color: #061058;
    justify-content: start;
    padding: 40px;
    min-height: 195px;
    height: 100%;
    gap: 20px;
    align-items: center;
    max-width: 100%;
    width: 100%;
    min-width: 100%;
    gap: 20px;
    border: 1px solid rgba(205,208,227,.295);
    box-shadow: 2px 3px 37px 3px rgba(3,198,185,.09);
    transition: .3s ease;
}
.services__container-wrap-item h3{
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px;
}
@media (hover: hover) and (pointer: fine) {
    .services__container-wrap-item:hover{
        transform:translateY(-10px);
    }
}

.services__container-wrap-item img{
   max-width: fit-content;
    max-height: 48px;
    width: 100%;
    height: 100%;
    min-width: fit-content;
}
@media screen and (max-width:1240px) {
    .services__container-wrap-item{
        padding: 30px;
        gap: 25px;
    }

}
@media screen and (max-width:767px) {
    .services__container-wrap{
        display: flex;
        flex-direction: column;
    }
    .services__container-wrap-item{
        padding: 30px;
        min-height: 150px;
        max-height: 195px;
        gap: 20px;
        align-items: center;
        max-width: 100%;
        width: 100%;
        min-width: 100%;
        gap: 20px;
        border: 1px solid rgba(205,208,227,.295);
        box-shadow: 0 17px 8px 18px rgba(3,198,185,.09);
    }
}
@media screen and (max-width:367px) {
    .services__container-wrap-item {
        word-break: break-word;
    }
}

/* Секція Новини */
.news{
    padding: 60px 0;
    background-color: #fff;
    margin: 0;
}
@media screen and (max-width:1023px) {
    .news{
        padding: 50px 0;
    }
}
.news__container{
    display: flex;
    flex-direction: column;

}
.news__container h2{
    font-weight: 400;
    font-size: 39px;
    line-height: 50px;
    text-align: center;
    color: #4396D9;
    margin-bottom: 65px;
}
.news__container .btn{
    max-width: 230px;
    width: 100%;
    padding: 8px 20px 8px;
    background-color: #43CED9;
    opacity: 0.82;
    text-align: center;
    display: block;
   transition: .3s ease;
   color: #fff;
    font-weight: 700;
    font-size: 14px;
    margin: 0 auto;
}
.news-page .news__container-wrap {
    grid-template-columns: repeat(2 , 1fr);
}
.news-page .news__container-wrap .news__container-wrap-image{
    width: 100%;
    max-width: 100%;
    object-fit: cover;
}
.news-page .text-center {
    margin: 30px 0;
}
@media (hover:hover) and (pointer:fine) {
    .news__container .btn:hover{
        opacity: 1;
     }
}
.news__container-wrap{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    margin-bottom: 60px;
}
@media screen and (max-width:1023px) {
    .news__container-wrap{
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (max-width:767px) {
    .news__container-wrap{
        display: flex;
        flex-direction: column;
        margin-bottom: 30px;
    }
}
.news__container-wrap-item{
    display: flex;
    flex-direction: column;
transition: .3s ease;
}
@media (hover: hover) and (pointer: fine){
    .news__container-wrap-item:hover{
    box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.2);
    }
    .news__container-wrap-item:hover.news__container-wrap-item img{
    opacity: 1;
    }
}
@media screen and (max-width:767px) {
    .news__container-wrap-item{
    border-bottom: 1px solid #43CED9; 
    }
}
.news__container-wrap-item img{
    max-width: 350px;
    width: 100%;
    min-height: 235px;
    max-height: 235px;
    height: 100%;
    object-fit: cover;
}
@media screen and (max-width:1023px) {
    .news__container-wrap-item img{
        max-width: 100%;
    }
}
@media (hover: hover) and (pointer: fine){
    .news__container-wrap-item img{
        opacity: .7;
        }
}

.news__container-wrap-item-content{
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px;
    justify-content: space-between;
    height: 100%;

}
@media screen and (max-width:367px) {
    .news__container-wrap-item-content  {
      gap: 30px;
    }
}
.news__container-wrap-item-content h3{
    color: #43CED9;
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    min-height: 80px;
}
@media screen and (max-width:367px) {
    .news__container-wrap-item-content h3 {
        font-size: 19px;
        line-height: 22px;
    }
}
.news__container-wrap-item-content div{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    margin-top: auto;
    color: #b5b5b5;
    font-weight: 700;
    font-size: 16px;
}

.news__container-wrap-item-content div img{
   width: 22px;
   height: 17px;
   min-height: 17px;
   margin-left: 10px;
}

.coding__container-content .pad {
    padding: 0;
}
.coding__container-panel-nav ul {
    padding: 0;
    margin: 0;
    list-style: none;
}
.coding__container-panel-nav ul li {
    list-style: none;
}
.kama_breadcrumbs {
    display: flex;
    gap: 5px;
    align-items: center;
    flex-wrap: wrap;
}
.coding{
    background-color: #fff;
}
.coding__container{
    display: grid;
    grid-template-columns: .3fr .7fr;
    gap: 30px;
}
@media screen and (max-width:1023px) {
    .coding__container{
    display: flex;
    }
}
.open_list{
    background-color: #1f96d9;
}
@media screen and (max-width:995px) {
    .coding__container-panel{
        display: none;
    }
}
.coding__container-panel-nav{
    display: flex;
    flex-direction: column;

}
.coding__container-panel-nav ul{
    display: flex;
    flex-direction: column;
    min-width: 295px;
    width: 100%;
    gap: 1px;
}
.coding__container-panel-nav ul li{
    width: 100%; 
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #166899;
    font-size: 14px;
    position: relative;
    transition: background .3s linear;
    background-color: #ddedf7;
    cursor: pointer;
    height: auto;
    padding: 0;
}
.coding__container-panel-nav ul li:hover {
    background: #4c9bca;
    color: #fff;
}
.coding__container-panel-nav ul li a:hover {
    color: #fff;
}
.coding__container-panel-nav ul li.active {
    background: #4c9bca;
    color: #fff;
}
.coding__container-panel-nav ul li a{
    max-width: 100%;
    width: fit-content;
    padding: 11px 38px 10px 20px;
}
.coding .menu-item-has-children:after{
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    max-height: 42px;
    height: 100%;
    transition: .3s ease;
    content: '';
    background: url('./images/triangle-down-svgrepo-com.svg') center center / 25% no-repeat;
    background-color: rgba(21, 101, 151, 0.08);
}
.coding__container-panel-nav ul li:hover.menu-item-has-children:after{
    background-color: rgba(21, 101, 151, 0.08);
}
.coding__container-panel-nav ul li .sub-menu{
    height: 0;
    transition: all 1s;
    max-height: 0;
    overflow: hidden;
    background-color: #eafafc;
}

 .coding__container-panel-nav ul li.active .sub-menu{
    display: flex;
    flex-direction: column;
    opacity: 1;
    height: 100%;
    max-height: 1000px;
}
 .coding__container-panel-nav ul li .sub-menu li{
    color: #166899;
    font-size: 14px;
    display: block;
    padding: 0px;
    position: relative;
    background-color: transparent;
    text-transform: none;
    font-weight: 400;
    width: 100%;
}
.coding__container-panel-nav ul li .sub-menu li:hover{
    background-color: #4c9bca;
    color: #fff;
}
.coding__container-panel-nav ul li .sub-menu li.active-item{
    color: #166899;
    background-color: #4c9bca;
}
.coding__container-content{
    display: block;
}
.coding__container-content h2{
    font-size: 32px;
    line-height: 1;
    margin-bottom: 30px;
}
.coding__container-content img{
    width: 100%;
    margin: 5px;
}
.coding__container-content h3{
    font-size: 28px;
    line-height: 1;
    font-weight: 400;
    margin-bottom: 20px;
}
.coding__container-content p:not(:nth-last-of-type(1)){
    margin-bottom: 20px;
}
.coding__container-content ul{
    list-style-type:decimal ;
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 20px;
    color: inherit;
}
.coding__container-content ul li{
    color: #000;
    font-style: normal;
    font-weight: normal;
    font-size: 18px;
    line-height: 27px;
    
}
li, .kb_title {
    color: #000;
}
.interesting__link ul {
    display: grid;
    grid-template-columns: repeat(3 , 1fr);
    gap: 25px;
    padding: 0;
    margin: 0;
}
@media screen and (max-width: 767px) {
    .interesting__link ul {
        grid-template-columns: repeat(2 , 1fr);
        gap: 14px;
    }
}
@media screen and (max-width: 500px) {
    .interesting__link ul {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }
}
.interesting__link li {
    list-style: none;
}
.interesting__link ul li a {
    border: 1px solid #ddedf7;
    background-color: #f3fbff;
    padding: 15px 10px;
    list-style-type: none;
    width: 100%;
}
.interesting__title {
    text-align: center;
    margin: 20px 0;
}
.license #wpd-post-rating,
.content #wpd-post-rating,
#wpd-post-rating {
    display: none;
}
.kama_breadcrumbs a span{
    color: #4396D9;
}
.post__date {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 30px;
}
.post__date-time {
    padding: 15px;
    background-color:  #4396D9;
    display: flex;
    align-items: center;
    justify-content: center;
    height: fit-content;
    color: #fff;
    font-size: 25px;
}
.post__date .title {
    font-size: 32px;
    margin-bottom: 0;
    text-align: left;
}
@media screen and (max-width: 1023px) {
    .post__date .title {
        font-size: 20px;
    }   
    .post__date {
        flex-wrap: wrap;
        gap: 15px;
    }
    .new-section {
        margin: 20px 0;
        padding: 0;
    }
}
.error-page {
    display: flex;
    flex-direction: column;
    gap: 25px;
    align-items: center;
}
.error-page .title-404{
    color: #4396D9;
    font-weight: 700;
    font-size: 156px;
    line-height: 1;
    text-align: center;
}
.dsc-404 {
    font-size: 23px;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
}
.info-404 {
    display: flex;
    gap: 5px;
}
.info-404 a{
    color: #4396D9;
    text-decoration: underline;
}
@media screen and (max-width: 767px) {
    .info-404 {
        gap: 5px;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        text-align: center;
    }
    .error-page .title-404 {
        font-size: 124px;
    }
}
.stage__container-wrap-content br {
    display: none;
}
.gallery__wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
@media screen and (max-width: 550px) {
    .gallery__wrapper {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
}
.gallery__wrapper img {
    width: 100%;
    height: 100%;
}
#wpdcom .wpdiscuz-item .wpdiscuz-rating {
    display: flex;
}
.comments__wrapper {
    display: flex;
    gap: 20px;
    overflow: hidden;
    overflow-x: auto;
    margin-top: 20px;
}
.comments__wrapper-item {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px 0;
    max-width: 550px;
    min-width: 330px;
    width: 100%;
    padding: 15px;
    background: #4396D9;
    border-radius: 19px;
    position: relative;
}
.comments__wrapper-item p {
    width: 100%;
    color:#fff;
    line-height: normal;
}
.comments__wrapper-name {
    font-weight: 700;
    color: #fff;
    height: fit-content;
}
.comments__wrapper-date {
    font-size: .9em;
    color: #fff;
    height: fit-content;
    margin-left: auto;
}
.comments__wrapper-item p {
    font-style: italic;
    font-size: .9em;
}
.wpdiscuz-post-rating-wrap.wpd-custom-field ,
#wpd-bubble-wrapper ,
#wpdcom .wpd_label,
.wpd-cf-label{
    display: none !important;
}
@media screen and (max-width: 767px) {
    .comments__wrapper {
        gap: 10px;
    }
    .comments__wrapper {
        font-size: .7em;
    }
}

.price__container-list {
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    padding: 0;
    margin: 20px 0;
}
.price__container-list-item {
    display: flex;
    align-items: start;
    flex-direction: column;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
}
.price__container-list-item span {
    padding: 30px;
    max-width: 100%;
    width: 100%;
    background-color: #43CED9;
    color: #fff;
    display: flex;
    align-items: center;
}
@media screen and (max-width: 767px) {
    .price__container-list-item span {
        font-size: 16px;
        padding: 30px 20px;
   }
}
.price__container-list-item ul {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    max-width: 100%;
    width: 100%;
    padding: 0;
}
.price__container-list-item ul li {
    background-color: #fff;
    display: flex;
    max-width: 100%;
    width: 100%;
    overflow: hidden;
}
.price__container-list-item ul li span {
    text-transform: none;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    background-color: inherit;
    padding: 10px 30px;
    color: #000;
    border: 1px solid grey;
}
@media screen and (max-width: 550px) {
    .price__container-list-item ul li span {
        font-size: 12px;
        padding: 16px 20px;
   }
}
@media screen and (max-width: 550px) {
    .price__container-list-item ul li span {
        font-size: 12px;
        padding: 16px 20px;
        word-break: break-word;
   }
}
.price__container-list-item ul li .price__container-btn {
    min-width: 130px;
    position: relative;
    max-width: 180px;
    width: 100%;
    display: flex;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s ease;
}
.price__container-list-item ul li .price__container-btn:hover span, .price__container-list-item ul li .price__container-btn:hover .btn {
    transform: translateX(-100%);
}
.price__container-list-item ul li .price__container-btn:hover .btn {
    font-size: .7em;
    transition: all .5s;
}
.price__container-list-item ul li .price__container-btn span {
    transition: all 0.3s ease;
    min-width: 130px;
    min-width: 100%;
}
.price__container-list-item ul li .price__container-btn .btn {
    border-radius: 0;
    min-width: 100%;
    white-space: nowrap;

}
.price__container-list-item ul li .price__container-btn .btn:hover {
    background-color: #43CED9;
}
.top-menu.menu> .menu-item.pll-parent-menu-item {
    display: none;
}
@media screen and (max-width: 1023px) {
    .top-menu.menu> .menu-item.pll-parent-menu-item , .header__mobile-menu .menu>.menu-item {
    display: flex;
    flex-direction: column;
    align-items: center;
}
}

#breadcrumbs span {
    display: flex;
    white-space: nowrap;
    overflow:hidden;
    overflow-x: auto;
    align-items: center;
    gap: 7px;
}
#breadcrumbs span a:first-of-type {
    color: #43CED9;
}
.navigation.pagination {
    justify-content: center;
}
.navigation.pagination .nav-links {
    display: flex;
    align-items: center;
    gap: 5px;
}
.pagination .page-numbers {
    border: 1px solid #000;
    padding: 4px 8px;
    border-radius: 12px;
    transition: all .5s;
}
.pagination .page-numbers:hover {
  background: #000;
    color: #fff;  
}
.pagination .page-numbers.current {
    background: #000;
    color: #fff;
}
.doctors-page .post-thumbnail img {
    width: 100%;
    max-height: 350px;
    object-fit: cover;
    border-radius: 12px;
    height: 100%;
}
.doctors-page .row {
    align-items: flex-start;
    justify-content: space-between;
}
.doctors-page .post-thumbnail {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    height: fit-content;
}
.doctors-page__social {
    display: flex;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
    .doctors-page .row {
        gap: 20px;
    }
}
.same-doctors {
    padding: 80px 0 40px 0;
}
.same-doctors h2 {
    text-align: center;
}
footer p {
    color: #fff;
}
/* Стили для контейнера */
.switcher {
    position: relative;
    display: inline-block;
}

/* Стили для select */
.pll-switcher-select {
    color: #43CED9;; /* Цвет текста */
    border: none;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
    background: transparent;
}

/* Стили для выпадающих опций */
.pll-switcher-select option {
    background-color: #fff; /* Цвет фона опций */
    color: #333; /* Цвет текста опций */
    padding: 10px;
}


/* Эффекты фокуса */
.pll-switcher-select:focus {
    outline: none;
}
/* Контейнер таблицы */
table {
    width: 100%; /* Таблица занимает всю ширину контейнера */
    border-collapse: collapse; /* Убираем лишние промежутки между ячейками */
    margin: 20px 0; /* Отступы сверху и снизу */
    font-size: 16px;
    text-align: left;
}

/* Оформление заголовков таблицы */
th {
    background-color: #f2f2f2; /* Фон для заголовков */
    color: #333; /* Цвет текста заголовков */
    padding: 12px; /* Отступы внутри ячеек заголовков */
    border-bottom: 2px solid #ddd; /* Низ заголовков с бордером */
}

/* Оформление ячеек таблицы */
td {
    padding: 12px; /* Отступы внутри ячеек */
    border-bottom: 1px solid #ddd; /* Разделение между строками */
}

/* Чередование цветов строк */
tr:nth-child(even) {
    background-color: #f9f9f9; /* Цвет для четных строк */
}

/* Эффект при наведении */
tr:hover {
    background-color: #f1f1f1; /* Фон при наведении */
}

/* Выравнивание содержимого в ячейках */
td, th {
    text-align: left;
}

/* Стили для первой колонки (если нужно) */
tr:first-child {
    font-weight: bold; /* Можно выделить первую колонку жирным шрифтом */
}
li span {
    color: #000;
}
/* Адаптивность таблицы */
@media (max-width: 768px) {
    table {
        font-size: 14px; /* Уменьшаем текст на мобильных устройствах */
    }
}
.footer__copyright {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 40px;
}

.footer__copyright p {
    margin: 0;
    padding-right: 10px;
    margin-right: 10px;
    border-right: 1px solid #fff;
}
.footer__copyright ul {
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.footer__copyright ul li a {
    color: #fff;
}
.footer__copyright ul li:not(:last-of-type) {
    padding-right: 10px;
    margin-right: 10px;
    border-right: 1px solid #fff;
}
.footer__copyright ul li:hover a {
    text-decoration: underline;
}
@media screen and (max-width: 767px) {
    .footer__copyright {
        flex-direction: column;
        gap: 10px;
        justify-content: center;
    }
    .footer__copyright p {
       padding-right: 0px;
        margin-right: 0px;
        border-right: none; 
    }
    .footer__copyright ul {
        width: 100%;
        justify-content: center;
    }
}



.author-info {
    text-align: center;
    padding: 20px;
    background-color: #f9f9f9;
    border-radius: 10px;
    margin:  30px 0;
}
.news-page .news__container-wrap-item {
    width: 100%;
}
.news-page .pagination {
    justify-content: center;
}
.author-avatar {
    margin-bottom: 15px;
}
.author-avatar img {
    border-radius: 50%;
    max-width: 250px;
}
@media screen and (max-width: 767px) {
    .author-avatar img {
        width: 60%;
    }
} 
.author-description {
    font-size: 14px;
    margin-bottom: 20px;
    color: #666;
}

.author-socials {
    display: flex;
    justify-content: center;
    gap: 15px;
}

.author-socials .social-link {
    color: #0073e6;
    text-decoration: none;
    font-size: 14px;
}

.author-posts h2 {
    margin-bottom: 20px;
}

.author-post-item {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    text-decoration: none;
    color: inherit;
}

.author-post-item .post-thumbnail svg {
    width: 100px;
    height: 100px;
}

.author-post-item .post-content h3 {
    font-size: 18px;
    margin-bottom: 5px;
}

.author-post-item .post-date {
    font-size: 14px;
    color: #999;
}
.blog-article-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 0;
    margin-bottom: 15px;
}
.blog__container-item-autor {
    display: flex;
    align-items: center;
    gap: 10px;
}
.time {
    display: inline-flex;
    padding: 5px 15px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 500px;
    background: #E9F5FF;
    font-weight: 500;
    color: #1264D5;
}
.post-thumbnail {
    width: 100%;
    margin-bottom: 25px;
}

.comments-section {
    background-color: #f9f9f9;
    padding: 20px;
    border-radius: 10px;
    max-width: 700px;
    margin: 0 auto;
}
.author-info.single {
    display: flex;
    gap: 15px;
    border: 1px solid #000;
}
@media screen and (max-width: 767px) {
    .author-info.single {
        flex-direction: column;
    }
}
.author-info.single .author_description {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.author-info.single .author-description {
    text-align: left;
}
.comments-title {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 20px;
}

.comment-form-author,
.comment-form-email,
.comment-form-comment {
    margin-bottom: 15px;
}

.comment-form-author label,
.comment-form-email label,
.comment-form-comment label {
    display: block;
    margin-bottom: 5px;
    font-size: 16px;
    font-weight: bold;
}

.comment-form-author input,
.comment-form-email input,
.comment-form-comment textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 14px;
}

.comment-form-comment textarea {
    height: 150px;
}

.submit-button {
    background-color: #0073aa;
    color: #fff;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
}

.submit-button:hover {
    background-color: #005a87;
}

.comment-notes {
    font-size: 12px;
    margin-bottom: 20px;
    color: #666;
}
.single__container-tabs-btns {
    margin-bottom: 20px;
}
.single__container-tabs-btn {
    white-space: nowrap;
    border: 1px solid #000;
    border-radius: 12px;
}
.single__container-tabs-btn.active-tab:hover {
    color: #fff;
}
.active-tab {
    background-color: #4396D9;
    color: #FFF;
    border-color: transparent;
}
.faq__container-accord {
    display: flex;
    flex-direction: column;
    margin-bottom: 40px;
}
.faq__container-accord-item:nth-last-of-type(1) {
    border-bottom: 1px solid #DCE0E5;
}

.faq__container-accord-item {
    max-width: 100%;
    width: 100%;
    border-top: 1px solid #DCE0E5;
    border-left: 1px solid #DCE0E5;
    border-right: 1px solid #DCE0E5;
    background-color: #FFF;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s linear;
}
.faq__container-accord-item-top {
    max-width: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 40px;
    justify-content: space-between;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
    padding: 30px;
}
.faq__container-accord-item-top svg {
    max-width: 36px;
    max-height: 36px;
    width: 100%;
    height: 100%;
    margin-right: 5px;
    transition: all 0.3s linear;
}
.faq__container-accord-item-bottom {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: all 0.3s linear;
    padding: 0px 30px 0px 0px;
}
.faq__container-accord-item-top p {
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: pre-wrap;
    margin-bottom: 0;
}
.faq__container-accord .faq__container-accord-item:hover, .faq__container-accord .faq__container-accord-item.active {
    background-color: #43CED9;
}
.faq__container-accord .faq__container-accord-item:hover p, .faq__container-accord .faq__container-accord-item.active p {
    color: #FFF;
}
.faq__container-accord .faq__container-accord-item.active .faq__container-accord-item-top svg circle {
    fill: #FFF;
    stroke: #FFF;
}
.faq__container-accord .faq__container-accord-item.active .faq__container-accord-item-top svg {
    transform: rotate(45deg);
}
.faq__container-accord .faq__container-accord-item.active .faq__container-accord-item-bottom {
    background-color: #E9F5FF;
    color: #283441;
    opacity: 1;
    max-height: 100vh;
    overflow: visible;
    padding: 30px;
    border-radius: 0 0 10px 10px;
}
@media screen and (max-width: 767px) {
    .faq__container-accord-item-top {
        padding: 30px 20px;
        gap: 20px;
    }
        .faq__container-accord .faq__container-accord-item.active .faq__container-accord-item-bottom {
        padding: 20px;
    }
}
.reviews__wrapper {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 10px 0;
}
.reviews__wrapper-info img {
    width: 45px;
    height: 45px;
}
.comment-body footer {
    background: transparent;
}
.reviews__wrapper-item {
    background-color: #FFFFFF;
    border: 0;
    border-radius: 12px;
    -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.15);
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .5);
    overflow: hidden;
    padding: 10px 20px;
    position: relative;
    max-height: 250px;
    transition: all .5s;
}
.reviews__wrapper-item.more {
    max-height: 300vh;
}
.reviews__wrapper-info {
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
    padding-bottom: 10px;
    margin-bottom: 10px;
}
.reviews__wrapper-info::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 45%;
    height: 1px;
    border-bottom: 1px solid #DEDEDE;
}
.reviews__wrapper-info p {
    margin-bottom: 0;
    color: #a2a2a2;
    font-weight: 700;
    font-size: 14px;
}
.reviews__wrapper-item .time {
    background-color: transparent;
    padding: 0;
    color: #a2a2a2;
    margin-bottom: 20px;
}
.reviews__wrapper-more {
    position: absolute;
    left: 50%;
    bottom: 20px;
    transform: translate(-50% , 0);
    background-color: #4396D9;
    border-radius: 7px;
    -webkit-box-shadow: 0 0 3px 5px white;
    box-shadow: 0 0 3px 5px white;
    color: #FFFFFF;
    font-weight: 500;
    padding: 0 7px 1px;
    outline: none;
    transition: .5s;
}
button:focus {
    outline: none;
}
.reviews__wrapper-more:hover {
    background-color: #43CED9;
}

.fixed_link {
    position: fixed;
    left: 0;
    background: #fff;
    border-top: 1px solid #ccc;
    bottom: 0;
    width: 100%;
    z-index: 100;
    padding: 5px 0;
}
.fixed_link_box {
    display: -ms-flex;
    display: flex;
    justify-content: flex-start;
    text-align: left;
}
.fixed_link_box>div {
    width: 33.33%;
    display: flex;
    justify-content: center;
}

.fixed_link_box a , .fixed_link_box button {
    display: flex;
    justify-content: center;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    align-items: center;
    transition: all .3s ease;
    color: #0073aa;
}
.fixed_link_box a>div {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    background: currentcolor;
    border-radius: 100%;
    margin-right: 9px;
}
.fl-link:nth-child(2) a {
    color: green;
}
.fl-link:nth-child(3) button {
    color: red;
}
@media screen and (max-width: 767px) {
    .fixed_link_box {
        flex-wrap: wrap;
        justify-content: center;
        text-align: center;
        gap: 5px;
    }
    .fixed_link_box>div {
    width: 49%;
}
    .fl-link a , .fl-link button {
        display: flex;
        align-items: center;
        gap: 3px;
    }
    html body .cky-revisit-bottom-left {
        bottom: 85px;
    }
    .fixed_link_box a , .fixed_link_box button {
        font-size: 12px;
    }
}
.wpforo-category {
    width: 100%;
}



.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    display: none;
}

.faq-accordion {
  margin: 20px auto;
  font-family: inherit;
}

.faq-accordion__item {
  border: 1px solid #e5e5e5;
  border-radius: 14px;
  margin-bottom: 12px;
  background: #fff;
  overflow: hidden;
  transition: all 0.25s ease;
}

.faq-accordion__item[open] {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.faq-accordion__title {
  cursor: pointer;
  padding: 20px 56px 20px 22px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
  position: relative;
  list-style: none;
  color: #1f1f1f;
}

.faq-accordion__title::-webkit-details-marker {
  display: none;
}

.faq-accordion__title::after {
  content: "+";
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #4396D9;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  transition: all 0.2s ease;
}

.faq-accordion__item[open] .faq-accordion__title::after {
  content: "−";
  background: #4396D9;
  color: #fff;
}

.faq-accordion__content {
  padding: 0 22px 22px;
  font-size: 16px;
  line-height: 1.65;
  color: #444;
}

.faq-accordion__content p {
  margin: 0;
}

@media (max-width: 600px) {
  .faq-accordion {
    margin: 28px auto;
  }

  .faq-accordion__title {
    font-size: 16px;
    padding: 18px 52px 18px 18px;
  }

  .faq-accordion__content {
    font-size: 15px;
    padding: 0 18px 20px;
  }
}
 
 
 

  .read-more-12 {
    font-family: inherit;
    line-height: 1.65;
    color: inherit;
    margin-bottom: 40px;
  }

  .read-more-12 * {
    box-sizing: border-box;
  }

  .read-more-12__toggle {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }

  .read-more-12__hidden {
    display: none;
  }

  .read-more-12:has(.read-more-12__toggle:checked) .read-more-12__hidden {
    display: block;
  }

  .read-more-12 h2 {
    margin-top: 32px;
    margin-bottom: 16px;
  }

  .read-more-12 h3 {
    margin-top: 24px;
    margin-bottom: 12px;
  }

  .read-more-12 p {
    margin-bottom: 16px;
  }

  .read-more-12 img {
    max-width: 100%;
    height: auto;
    border-radius: 16px;
    margin: 18px 0;
  }

  .read-more-12 table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
  }

  .read-more-12 table td {
    border: 1px solid #e5e5e5;
    padding: 14px;
    vertical-align: top;
  }

  .read-more-12 table tr:first-child td {
    font-weight: 700;
    background: #f5f8fb;
  }

  .read-more-12__button-wrap {
    margin-top: 26px;
    text-align: center;
  }

  .read-more-12__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 190px;
    padding: 15px 30px;
    border-radius: 50px;
    background: #4396D9;
    color: #fff !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: all 0.25s ease;
  }

  .read-more-12__btn:hover {
    background: #2f83c7;
    transform: translateY(-1px);
  }

  .read-more-12__btn::after {
    content: "+";
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
  }

  .read-more-12__text-hide {
    display: none;
  }

  .read-more-12:has(.read-more-12__toggle:checked) .read-more-12__text-show {
    display: none;
  }

  .read-more-12:has(.read-more-12__toggle:checked) .read-more-12__text-hide {
    display: inline;
  }

  .read-more-12:has(.read-more-12__toggle:checked) .read-more-12__btn::after {
    content: "−";
  }

  @media (max-width: 600px) {
    .read-more-12__btn {
      width: 100%;
      padding: 15px 22px;
      font-size: 15px;
    }

    .read-more-12 table {
      display: block;
      overflow-x: auto;
    }
  }

/* =========================================================================
   HEADER 2026 — компактная sticky-шапка.
   Блок добавлен целиком; для отката удалить всё от этого маркера до
   маркера "HEADER 2026 — конец".
   ========================================================================= */
:root{
    --hdr-top: 34px;
    --hdr-main: 64px;
    --hdr-main-sm: 56px;
    --hdr-h: 98px;
    --hdr-accent: #4396D9;
    --hdr-ink: #243447;
    --hdr-muted: #8A97A6;
    --hdr-line: #E4EAF1;
    --hdr-bg-top: #F4F7FA;
}

html{ scroll-padding-top: calc(var(--hdr-main-sm) + 16px); }
body{ padding-top: var(--hdr-h); }

header{
    position: fixed;
    top: 0; left: 0; right: 0;
    width: 100%;
    z-index: 900;
    background: #fff;
    padding: 0;
    transition: box-shadow .2s ease;
}
/* админ-бар WordPress */
.admin-bar header{ top: 32px; }
@media screen and (max-width: 782px){ .admin-bar header{ top: 46px; } }
@media screen and (max-width: 600px){ .admin-bar header{ top: 0; } }

/* ------------------------- верхняя строка ------------------------------ */
.header__top{
    padding: 0;
    margin: 0;
    height: var(--hdr-top);
    background: var(--hdr-bg-top);
    border-bottom: 1px solid var(--hdr-line);
    overflow: hidden;
    transition: height .2s ease, opacity .2s ease;
}
.header__top .container{ height: 100%; }
.header__row{
    display: flex;
    align-items: center;
    height: 100%;
    gap: 14px;
}
.header__usp{
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    font-size: 13px;
    line-height: 1;
    color: var(--hdr-ink);
}
.header__usp-item{ font-weight: 600; }
.header__usp-sep{ color: var(--hdr-muted); }

.header__social{
    display: flex;
    align-items: center;
    gap: 2px;
    margin-left: auto;
}
.header__social-item{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    transition: background .15s ease;
}
.header__social-item:hover{ background: rgba(67,150,217,.12); }
.header__social-item svg{ width: 20px; height: 20px; display: block; }

.header__top .switcher{ margin-left: 6px; }

/* --------------------- прокрученное состояние -------------------------- */
html.hdr-scrolled .header__top{
    height: 0;
    opacity: 0;
    border-bottom-color: transparent;
}
html.hdr-scrolled header{ box-shadow: 0 2px 12px rgba(0,0,0,.10); }
html.hdr-scrolled .header__bottom{ height: var(--hdr-main-sm); }
html.hdr-scrolled .header__logo img{ max-height: 36px; }

/* ------------------------- основная строка ----------------------------- */
.header__bottom{
    height: var(--hdr-main);
    box-shadow: none;
    border-bottom: 1px solid var(--hdr-line);
    transition: height .2s ease;
}
.header__bottom .container{ height: 100%; }
.header__bottom-wrapper{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: 100%;
    gap: 20px;
}

.header__logo{ order: 1; flex: 0 0 auto; }
.header__logo img,
.header__logo picture img{
    width: auto;
    max-width: 170px;
    max-height: 44px;
    display: block;
    transition: max-height .2s ease;
}

.header__nav{ order: 2; flex: 1 1 auto; min-width: 0; }
.header__nav .menu-top_menu-container > ul{ justify-content: flex-start; gap: 18px; }

.header__bottom-contacts{
    order: 3;
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 4px;
    margin-left: auto;
    padding: 0;
}
/* телефон — контакт, не вторая кнопка */
.header__bottom-contacts .header__num{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 19px;
    font-weight: 700;
    line-height: 1;
    color: var(--hdr-ink);
    white-space: nowrap;
    text-decoration: none;
    background: none;
    padding: 0;
}
.header__bottom-contacts .header__num{ min-height: 26px; }
.header__bottom-contacts .header__num:hover{ color: var(--hdr-accent); }
.header__num-icon{ width: 15px; height: 15px; color: var(--hdr-accent); flex: 0 0 auto; }

/* единственная CTA */
.header__bottom-contacts .header__bottom-contacts-button{
    height: 40px;
    min-height: 40px;
    padding: 0 18px;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    line-height: 1;
    white-space: nowrap;
    border-radius: 22px;
}

/* бургер на desktop не нужен */
#navButton{ display: none; }
.header__mobile-menu{ display: none; }

/* -------- промежуточный диапазон 1024–1199: ужимаем, чтобы влезло ------- */
@media screen and (min-width: 1024px) and (max-width: 1199px){
    .header__bottom-wrapper{ gap: 14px; }
    .header__logo img{ max-width: 140px; max-height: 38px; }
    .header__nav .menu-top_menu-container > ul{ gap: 12px; }
    .header__nav nav > .menu-top_menu-container > ul > li > a,
    .header__nav .menu-top_menu-container > ul > li > a{ font-size: 15px; }
    .header__bottom-contacts .header__num{ font-size: 17px; }
    .header__bottom-contacts .header__bottom-contacts-button{ padding: 0 14px; font-size: 14px; }
}

/* ============================== MOBILE ================================== */
@media screen and (max-width: 1023px){
    :root{
        --hdr-top: 30px;
        --hdr-main: 60px;
        --hdr-main-sm: 56px;
        --hdr-h: 90px;
    }
    header{ padding: 0; }

    /* верхняя строка на мобильном больше НЕ прячется */
    .header__top{ display: block; }
    .header__row{ gap: 10px; }
    .header__usp{ font-size: 12px; }
    /* мессенджеры в мобильную шапку не выводим */
    .header__social{ display: none; }
    .header__top .switcher{ margin-left: auto; }

    /* навигация уходит в бургер */
    .header__nav{ display: none; }
    #navButton{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 5px;
        order: 1;
        width: 48px;
        height: 48px;
        margin: 0;
        flex: 0 0 auto;
        cursor: pointer;
    }
    #navButton span{ display: block; width: 24px; height: 2px; background: var(--hdr-ink); }

    .header__bottom-wrapper{ gap: 8px; }
    .header__logo{ order: 2; display: flex; align-items: center; height: 48px; margin-right: auto; }
    .header__logo img{ max-width: 118px; max-height: 30px; }

    .header__bottom-contacts{
        order: 3;
        flex-direction: row;
        align-items: center;
        gap: 8px;
        margin-left: 0;
    }
    .header__bottom-contacts .header__num{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 48px;
        height: 48px;
        font-size: 0;          /* на мобильном телефон — иконка */
        gap: 0;
        border-radius: 50%;
        background: rgba(67,150,217,.12);
    }
    .header__bottom-contacts .header__num span{ display: none; }
    .header__num-icon{ width: 20px; height: 20px; }

    .header__bottom-contacts .header__bottom-contacts-button{
        height: 48px;
        min-height: 48px;
        padding: 0 16px;
        font-size: 14px;
        border-radius: 24px;
    }

    /* мобильное меню: никаких hardcoded top — прижимаем к низу шапки */
    .header__mobile-menu{
        display: block;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        height: auto;
        max-height: calc(100vh - var(--hdr-h));
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    html.hdr-scrolled .header__mobile-menu{ max-height: calc(100vh - var(--hdr-main-sm)); }
}

.cta-label-short{ display: none; }

/* узкие экраны: сокращаем подпись CTA */
@media screen and (max-width: 430px){
    .header__bottom-wrapper{ gap: 6px; }
    .header__logo img{ max-width: 104px; }
    .header__bottom-contacts .header__bottom-contacts-button{ padding: 0 12px; font-size: 13px; }
    .cta-label-full{ display: none; }
    .cta-label-short{ display: inline; }
}
@media screen and (max-width: 360px){
    .header__logo img{ max-width: 92px; }
    .header__bottom-contacts .header__bottom-contacts-button{ padding: 0 10px; font-size: 12px; }
    .header__usp{ font-size: 11px; }
}

/* ===================== HEADER 2026 — конец ============================== */

/* Подписи CTA: перебиваем унаследованное .header__bottom-contacts span{display:none},
   которое раньше гасило удалённую строку «Лучшая клиника …». */
.header__bottom-contacts .header__bottom-contacts-button .cta-label-full{ display: inline; }
.header__bottom-contacts .header__bottom-contacts-button .cta-label-short{ display: none; }
@media screen and (max-width: 430px){
    .header__bottom-contacts .header__bottom-contacts-button .cta-label-full{ display: none; }
    .header__bottom-contacts .header__bottom-contacts-button .cta-label-short{ display: inline; }
}

/* Наследие: .header__bottom-contacts span оформляло удалённую строку
   «Лучшая клиника Украины …» (синий курсив 12px). Теперь под него попадают
   подпись CTA и номер телефона — возвращаем им наследование от родителя. */
.header__bottom-contacts .header__bottom-contacts-button span,
.header__bottom-contacts .header__num span{
    font: inherit;
    font-style: normal;
    color: inherit;
    text-align: inherit;
}
/* ширина кнопки — по подписи, чтобы паддинги не съедались (RU и UA разной длины) */
.header__bottom-contacts .header__bottom-contacts-button{ width: auto; }

/* -------------------------------------------------------------------------
   Правка: контактный блок в одну строку — телефон слева от CTA.
   Раньше был столбцом (26+4+40=70px) и не помещался в строку 64px,
   из-за чего номер «висел» над кнопкой и вылезал за пределы строки.
   ------------------------------------------------------------------------- */
.header__bottom-contacts{
    flex-direction: row;
    align-items: center;
    gap: 14px;
}
.header__bottom-contacts .header__num{
    font-size: 18px;
    min-height: 40px;
}
/* на узких ноутбуках подпись CTA короче — иначе строка не собирается */
@media screen and (max-width: 560px){
    .header__bottom-contacts .header__bottom-contacts-button .cta-label-full{ display: none; }
    .header__bottom-contacts .header__bottom-contacts-button .cta-label-short{ display: inline; }
}
/* пункты меню не переносим на вторую строку */
.header__nav .menu-top_menu-container > ul > li > a{ white-space: nowrap; }

/* 1024–1199: полный номер + меню в одну строку не помещаются,
   сворачиваем телефон в иконку (полный номер возвращается с 1200px) */
@media screen and (min-width: 1024px) and (max-width: 1199px){
    .header__bottom-contacts{ gap: 10px; }
    .header__bottom-contacts .header__num span{ display: none; }
    .header__bottom-contacts .header__num{
        width: 40px;
        height: 40px;
        min-height: 40px;
        justify-content: center;
        gap: 0;
        border-radius: 50%;
        background: rgba(67,150,217,.12);
    }
    .header__num-icon{ width: 18px; height: 18px; }
}

/* -------------------------------------------------------------------------
   Пересчёт порогов. Полный номер + меню в 16px требуют ~1225px контента,
   контейнер даёт это только с ~1280px. Ниже — компактный вариант.
   ------------------------------------------------------------------------- */
@media screen and (min-width: 1024px) and (max-width: 1279px){
    .header__bottom-wrapper{ gap: 14px; }
    .header__logo img{ max-width: 140px; max-height: 38px; }
    .header__nav .menu-top_menu-container > ul{ gap: 12px; }
    .header__nav .menu-top_menu-container > ul > li > a{ font-size: 15px; }
    .header__bottom-contacts{ gap: 10px; }
    .header__bottom-contacts .header__num span{ display: none; }
    .header__bottom-contacts .header__num{
        width: 40px; height: 40px; min-height: 40px;
        justify-content: center; gap: 0;
        border-radius: 50%; background: rgba(67,150,217,.12);
    }
    .header__num-icon{ width: 18px; height: 18px; }
}
@media screen and (min-width: 1280px){
    .header__bottom-wrapper{ gap: 16px; }
    .header__nav .menu-top_menu-container > ul{ gap: 14px; }
    .header__bottom-contacts{ gap: 12px; }
    .header__bottom-contacts .header__num{ font-size: 17px; }
    .header__num-icon{ width: 14px; height: 14px; }
}
/* 1280–1359: полный номер помещается, но украинские подписи длинные —
   чуть уменьшаем меню и логотип, чтобы остался воздух */
@media screen and (min-width: 1280px) and (max-width: 1359px){
    .header__nav .menu-top_menu-container > ul > li > a{ font-size: 15px; }
    .header__logo img{ max-width: 150px; }
}
/* единый кегль меню на всех десктопных ширинах — иначе на 1440 между
   последним пунктом и контактами остаётся ~10px */
@media screen and (min-width: 1024px){
    .header__nav .menu-top_menu-container > ul > li > a{ font-size: 15px; }
}

/* -------------------------------------------------------------------------
   Бургер: в теме полоски позиционированы абсолютно (top:0/14/28, height:4px),
   поэтому flex/gap на них не действовали — полоски были тонкие и смещены
   вверх. Возвращаем схему темы, пересчитанную под область 48x48,
   и переопределяем трансформы крестика под новую середину.
   ------------------------------------------------------------------------- */
@media screen and (max-width: 1023px){
    #navButton{
        display: block;
        position: relative;
        width: 48px;
        height: 48px;
        order: 1;
        flex: 0 0 auto;
        margin: 0;
        gap: 0;
        cursor: pointer;
    }
    #navButton span{
        display: block;
        position: absolute;
        left: 11px;
        width: 26px;
        height: 3px;
        border-radius: 2px;
        background: #4396D9;
        opacity: 1;
        transform: rotate(0);
        transition: .25s ease-in-out;
    }
    #navButton span:nth-child(1){ top: 12px; }
    #navButton span:nth-child(2){ top: 22px; }
    #navButton span:nth-child(3){ top: 32px; }

    html.open #navButton span:nth-child(1){ top: 22px; transform: rotate(135deg); }
    html.open #navButton span:nth-child(2){ opacity: 0; left: -60px; }
    html.open #navButton span:nth-child(3){ top: 22px; transform: rotate(-135deg); }
}

/* -------------------------------------------------------------------------
   Меню на desktop: возвращаем 16px (15px читалось мелко), место освобождаем
   за счёт отступов между пунктами, логотипа и телефона.
   ------------------------------------------------------------------------- */
@media screen and (min-width: 1024px){
    .header__nav .menu-top_menu-container > ul > li > a{
        font-size: 16px;
        font-weight: 500;
    }
    .header__nav .menu-top_menu-container > ul{ gap: 10px; }
    .header__bottom-contacts{ gap: 10px; }
    .header__bottom-contacts .header__num{ font-size: 16px; }
    .header__num-icon{ width: 13px; height: 13px; }
}
@media screen and (min-width: 1360px){
    .header__logo img{ max-width: 160px; }
}
/* 1024–1279: подписи длиннее доступного места — оставляем 15px */
@media screen and (min-width: 1024px) and (max-width: 1279px){
    .header__nav .menu-top_menu-container > ul > li > a{ font-size: 15px; }
}

/* =========================================================================
   HEADER 2026 — открытое мобильное меню.
   Было: плоский центрированный список из 20 пунктов на выцветшей картинке,
   заголовки групп и подпункты почти не отличались.
   Стало: левое выравнивание, группы-заголовки, отбивки, ряды 44–48px.
   ========================================================================= */
@media screen and (max-width: 1023px){

    .header__mobile-menu{
        background: #FFFFFF;
        box-shadow: 0 14px 28px rgba(16,31,48,.14);
        overscroll-behavior: contain;
        padding-bottom: max(24px, env(safe-area-inset-bottom));
    }
    .header__mobile-menu .container{ padding-left: 20px; padding-right: 20px; }

    /* контейнер списка */
    .header__mobile-menu ul.menu.top-menu{
        display: block;
        margin: 0;
        padding: 4px 0 0;
        list-style: none;
        text-align: left;
    }

    /* пункт верхнего уровня = группа */
    .header__mobile-menu ul.menu.top-menu > li.menu-item{
        display: block;
        width: auto;
        margin: 0;
        padding: 0;
        text-align: left;
        border-top: 1px solid #EDF1F6;
    }
    .header__mobile-menu ul.menu.top-menu > li.menu-item:first-child{ border-top: 0; }

    /* заголовок группы (у пункта есть подпункты) */
    .header__mobile-menu ul.menu.top-menu > li.menu-item.menu-item-has-children > a{
        display: block;
        width: auto;
        min-height: 0;
        padding: 18px 0 6px;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: #8A97A6;
        background: none;
    }

    /* самостоятельный пункт без подпунктов — обычный ряд */
    .header__mobile-menu ul.menu.top-menu > li.menu-item:not(.menu-item-has-children) > a{
        display: flex;
        align-items: center;
        width: auto;
        min-height: 52px;
        padding: 0;
        font-size: 16px;
        font-weight: 600;
        line-height: 1.3;
        color: #243447;
        background: none;
    }

    /* список подпунктов */
    .header__mobile-menu ul.menu.top-menu > li.menu-item > ul.sub-menu{
        display: block;
        margin: 0 0 10px;
        padding: 0;
        list-style: none;
    }
    .header__mobile-menu ul.menu.top-menu > li.menu-item > ul.sub-menu > li.menu-item{
        display: block;
        width: auto;
        margin: 0;
        padding: 0;
        text-align: left;
        border: 0;
    }
    .header__mobile-menu ul.menu.top-menu > li.menu-item > ul.sub-menu > li.menu-item > a{
        display: flex;
        align-items: center;
        width: auto;
        min-height: 46px;
        padding: 0 0 0 14px;
        border-left: 2px solid #E4EAF1;
        font-size: 15px;
        font-weight: 400;
        line-height: 1.3;
        color: #3C4A5B;
        background: none;
    }
    .header__mobile-menu ul.menu.top-menu > li.menu-item > ul.sub-menu > li.menu-item > a:hover,
    .header__mobile-menu ul.menu.top-menu > li.menu-item > ul.sub-menu > li.menu-item > a:active{
        color: #4396D9;
        border-left-color: #4396D9;
    }

    /* активный раздел */
    .header__mobile-menu ul.menu.top-menu li.current-menu-item > a{ color: #4396D9; }

    /* стрелка-«галочка» от desktop-меню в мобильном не нужна */
    .header__mobile-menu .menu-item-has-children:before{ display: none; }

    /* открытое состояние: отделяем шапку от списка */
    html.open .header__bottom{ box-shadow: 0 1px 0 #E4EAF1; }
}
/* компактнее по вертикали: список из 20 пунктов не должен быть бесконечным */
@media screen and (max-width: 1023px){
    .header__mobile-menu ul.menu.top-menu > li.menu-item.menu-item-has-children > a{ padding: 15px 0 5px; }
    .header__mobile-menu ul.menu.top-menu > li.menu-item:not(.menu-item-has-children) > a{ min-height: 48px; }
    .header__mobile-menu ul.menu.top-menu > li.menu-item > ul.sub-menu > li.menu-item > a{ min-height: 44px; }
    .header__mobile-menu ul.menu.top-menu > li.menu-item > ul.sub-menu{ margin-bottom: 8px; }
}

/* =========================================================================
   HEADER 2026 — визуальная полировка desktop-шапки.
   Контраст, ритм отступов, состояния hover/focus, dropdown.
   Мобильная раскладка не затрагивается (все правила от 1024px и выше),
   кроме скрытия третьего факта в верхней строке, чтобы не сломать 360px.
   ========================================================================= */

/* --- 4. верхняя строка: зазор иконок + третий факт только на desktop --- */
.header__social{ gap: 8px; }
@media screen and (max-width: 1023px){
    .header__usp-extra{ display: none; }
}

@media screen and (min-width: 1024px){

    /* --- 1. меню: читаемый основной цвет, акцент только на состояниях --- */
    .header__nav .menu-top_menu-container > ul > li > a{
        position: relative;
        color: #243447;
        font-size: 16px;
        font-weight: 500;
        text-decoration: none;
        transition: color .15s ease;
    }
    .header__nav .menu-top_menu-container > ul > li > a::after{
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -7px;
        height: 2px;
        border-radius: 2px;
        background: #4396D9;
        opacity: 0;
        transition: opacity .15s ease;
    }
    .header__nav .menu-top_menu-container > ul > li > a:hover{ color: #4396D9; }
    .header__nav .menu-top_menu-container > ul > li > a:hover::after{ opacity: 1; }

    /* активный раздел */
    .header__nav .menu-top_menu-container > ul > li.current-menu-item > a,
    .header__nav .menu-top_menu-container > ul > li.current-menu-ancestor > a,
    .header__nav .menu-top_menu-container > ul > li.current-menu-parent > a{ color: #4396D9; }
    .header__nav .menu-top_menu-container > ul > li.current-menu-item > a::after,
    .header__nav .menu-top_menu-container > ul > li.current-menu-ancestor > a::after,
    .header__nav .menu-top_menu-container > ul > li.current-menu-parent > a::after{ opacity: 1; }

    /* стрелка dropdown — та же цветовая логика, без оранжевого */
    .header__nav .menu-top_menu-container > ul > li.menu-item-has-children::before{
        border-right-color: #8A97A6;
        border-top-color: #8A97A6;
        transition: border-color .15s ease;
    }
    .header__nav .menu-top_menu-container > ul > li.menu-item-has-children:hover::before{
        border-right-color: #4396D9;
        border-top-color: #4396D9;
    }

    /* --- 3. ритм отступов --- */
    .header__bottom-wrapper{ gap: 32px; }
    .header__nav .menu-top_menu-container > ul{ gap: 20px; }
    .header__bottom-contacts{ gap: 20px; }

    /* --- 7. телефон: контакт, не кнопка --- */
    .header__bottom-contacts .header__num{
        color: #243447;
        font-weight: 700;
        text-decoration: none;
        transition: color .15s ease;
    }
    .header__bottom-contacts .header__num:hover{ color: #2A72B0; }
    .header__bottom-contacts .header__num:hover .header__num-icon{ color: #2A72B0; }
    .header__num-icon{ transition: color .15s ease; }

    /* --- 2. CTA --- */
    .header__bottom-contacts .header__bottom-contacts-button.btn{
        background: #2A72B0;
        border: 0;
        color: #FFFFFF;
        font-weight: 600;
        border-radius: 10px;
        box-shadow: none;
        transition: background .15s ease, box-shadow .15s ease;
    }
    .header__bottom-contacts .header__bottom-contacts-button.btn:hover{
        background: #3079B8;
        box-shadow: 0 4px 14px rgba(42,114,176,.30);
    }
    .header__bottom-contacts .header__bottom-contacts-button.btn:active{
        background: #245F93;
        box-shadow: none;
    }

    /* --- 6. dropdown: оформление и строки 40px --- */
    .header__nav .menu-top_menu-container > ul > li{ position: relative; }
    .header__nav .menu-top_menu-container > ul > li > ul{
        min-width: 232px;
        margin: 0;
        padding: 8px;
        background: #FFFFFF;
        border: 1px solid #EDF1F6;
        border-top: 1px solid #EDF1F6;
        border-radius: 10px;
        box-shadow: 0 8px 24px rgba(16,31,48,.14);
    }
    .header__nav .menu-top_menu-container > ul > li > ul > li{ margin: 0; }
    .header__nav .menu-top_menu-container > ul > li > ul > li > a{
        display: flex;
        align-items: center;
        min-height: 40px;
        padding: 0 12px;
        border-radius: 6px;
        color: #3C4A5B;
        font-size: 15px;
        line-height: 1.3;
        text-decoration: none;
        transition: background .12s ease, color .12s ease;
    }
    .header__nav .menu-top_menu-container > ul > li > ul > li > a:hover{
        background: #F1F6FB;
        color: #2A72B0;
    }

    /* --- 8. переключатель языка: согласовать с верхней строкой --- */
    .header__top .switcher select{
        color: #243447;
        font-size: 13px;
        font-weight: 600;
        cursor: pointer;
        background: transparent;
        border: 0;
        padding: 2px 4px;
        border-radius: 6px;
        transition: background .15s ease, color .15s ease;
    }
    .header__top .switcher select:hover{ color: #2A72B0; background: rgba(67,150,217,.10); }

    /* --- 5. иконки мессенджеров --- */
    .header__social-item{ transition: background .15s ease, transform .15s ease; }
    .header__social-item:hover{ background: rgba(67,150,217,.14); }

    /* --- 5. единый focus-visible --- */
    .header__nav .menu-top_menu-container > ul > li > a:focus-visible,
    .header__bottom-contacts .header__num:focus-visible,
    .header__bottom-contacts .header__bottom-contacts-button:focus-visible,
    .header__social-item:focus-visible,
    .header__logo:focus-visible,
    .header__top .switcher select:focus-visible{
        outline: 3px solid #9CC9EE;
        outline-offset: 2px;
        border-radius: 6px;
    }
}

/* 1024–1279: полный набор в 16px не помещается — оставляем 15px и меньший шаг */
@media screen and (min-width: 1024px) and (max-width: 1279px){
    .header__bottom-wrapper{ gap: 24px; }
    .header__nav .menu-top_menu-container > ul{ gap: 14px; }
    .header__nav .menu-top_menu-container > ul > li > a{ font-size: 15px; }
}
/* шаг между пунктами меню: 20px не оставляет места для внешних отступов 32/20 */
@media screen and (min-width: 1280px){
    .header__nav .menu-top_menu-container > ul{ gap: 12px; }
}
/* навигация не должна сжиматься меньше содержимого: иначе список визуально
   наезжает на контакты и «съедает» внешний отступ 32px */
@media screen and (min-width: 1024px){
    .header__nav{ flex: 0 0 auto; min-width: auto; }
    .header__bottom-contacts{ margin-left: auto; }
}
/* при отступах 32/32/20 контент шире контейнера — компенсируем шагом меню
   и небольшим уменьшением логотипа */
@media screen and (min-width: 1280px){
    .header__nav .menu-top_menu-container > ul{ gap: 8px; }
    .header__logo img{ max-width: 148px; }
}
/* 1024–1279: сетка 32/32/20 не помещается — в этом диапазоне шаг 20 */
@media screen and (min-width: 1024px) and (max-width: 1279px){
    .header__bottom-wrapper{ gap: 20px; }
    .header__nav .menu-top_menu-container > ul{ gap: 8px; }
    .header__logo img{ max-width: 130px; max-height: 34px; }
}

/* =========================================================================
   HERO 2026 — первый экран главной.
   Блок добавлен целиком; для отката удалить всё до маркера «HERO 2026 — конец».
   Старые правила .main / .main__* остаются в файле, но больше ни к чему
   не применяются: секция переименована в .hero.
   ========================================================================= */
.hero{
    position: relative;
    isolation: isolate;
    padding: 56px 0 64px;
    background-color: #EEF4FA;
    background-image: var(--hero-bg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    overflow: hidden;
}
.hero::before{
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(100deg,
        #FFFFFF 0%,
        rgba(255,255,255,.95) 34%,
        rgba(255,255,255,.72) 58%,
        rgba(255,255,255,.34) 100%);
}
.hero .container{ position: relative; }

.hero__grid{
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(360px, 1fr);
    gap: 48px;
    align-items: center;
}

/* --------------------------- текстовая часть --------------------------- */
.hero__content{ max-width: 620px; }

.hero__title{
    margin: 0 0 16px;
    font-size: clamp(30px, 2.5vw, 40px);
    line-height: 1.18;
    font-weight: 700;
    color: #1B2A3D;
    letter-spacing: -.01em;
}
.hero__subtitle{
    margin: 0 0 28px;
    font-size: 17px;
    line-height: 1.55;
    font-weight: 400;
    color: #3C4A5B;
    max-width: 560px;
}

.hero__trust{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 28px;
    margin: 0;
    padding: 0;
    list-style: none;
    max-width: 580px;
}
.hero__trust-item{
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 600;
    color: #243447;
}
.hero__trust-icon{
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    color: #2A72B0;
}

/* ------------------------------ карточка ------------------------------- */
.hero__aside{ display: flex; justify-content: flex-end; }
.hero__card{
    width: 100%;
    max-width: 400px;
    padding: 26px 26px 22px;
    background: #FFFFFF;
    border: 1px solid #E4EAF1;
    border-radius: 16px;
    box-shadow: 0 12px 34px rgba(16,31,48,.12);
}
.hero__card-title{
    margin: 0 0 18px;
    font-size: 19px;
    line-height: 1.3;
    font-weight: 700;
    color: #1B2A3D;
}
.hero__card-note{
    margin: 14px 0 0;
    font-size: 12.5px;
    line-height: 1.45;
    color: #8A97A6;
}

/* ------------------------- поля Contact Form 7 ------------------------- */
.hero__card-form form{ margin: 0; }
.hero__card-form p{ margin: 0 0 12px; }
.hero__card-form br{ display: none; }
.hero__card-form .wpcf7-form-control-wrap{ display: block; }

.hero__card-form input[type="text"],
.hero__card-form input[type="tel"],
.hero__card-form input[type="email"]{
    display: block;
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1px solid #D7DFE9;
    border-radius: 10px;
    background: #FFFFFF;
    font-size: 15px;
    line-height: 1.2;
    color: #243447;
    box-shadow: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.hero__card-form input[type="text"]::placeholder,
.hero__card-form input[type="tel"]::placeholder{ color: #9AA7B4; }
.hero__card-form input[type="text"]:hover,
.hero__card-form input[type="tel"]:hover{ border-color: #B9C7D6; }
.hero__card-form input[type="text"]:focus,
.hero__card-form input[type="tel"]:focus{
    outline: none;
    border-color: #2A72B0;
    box-shadow: 0 0 0 3px rgba(42,114,176,.16);
}
.hero__card-form input[type="text"]:focus-visible,
.hero__card-form input[type="tel"]:focus-visible{
    outline: 3px solid #9CC9EE;
    outline-offset: 1px;
}

.hero__card-form input[type="submit"]{
    display: block;
    width: 100%;
    height: 50px;
    margin: 4px 0 0;
    padding: 0 18px;
    border: 0;
    border-radius: 10px;
    background: #2A72B0;
    color: #FFFFFF;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: background .15s ease, box-shadow .15s ease;
}
.hero__card-form input[type="submit"]:hover{
    background: #3079B8;
    box-shadow: 0 4px 14px rgba(42,114,176,.30);
}
.hero__card-form input[type="submit"]:active{ background: #245F93; box-shadow: none; }
.hero__card-form input[type="submit"]:focus-visible{
    outline: 3px solid #9CC9EE;
    outline-offset: 2px;
}

/* служебные сообщения CF7 внутри карточки */
.hero__card-form .wpcf7-response-output{
    margin: 12px 0 0;
    padding: 10px 12px;
    border-radius: 8px;
    border-width: 1px;
    font-size: 13px;
    line-height: 1.4;
}
.hero__card-form .wpcf7-not-valid-tip{
    margin-top: 5px;
    font-size: 12.5px;
    color: #C0392B;
}
.hero__card-form .wpcf7-spinner{ margin: 8px auto 0; display: block; }

/* ------------------------------ планшет -------------------------------- */
@media screen and (max-width: 1199px){
    .hero{ padding: 44px 0 52px; }
    .hero__grid{ grid-template-columns: minmax(0, 1.35fr) minmax(330px, 1fr); gap: 32px; }
    .hero__card{ max-width: 380px; padding: 22px 22px 20px; }
    .hero__subtitle{ font-size: 16px; margin-bottom: 24px; }
    .hero__trust{ gap: 12px 20px; }
}

/* ------------------------------ мобильный ------------------------------ */
@media screen and (max-width: 1023px){
    .hero{
        padding: 32px 0 40px;
        background-position: center top;
    }
    .hero::before{
        background: linear-gradient(180deg,
            rgba(255,255,255,.94) 0%,
            rgba(255,255,255,.90) 60%,
            rgba(255,255,255,.94) 100%);
    }
    .hero__grid{
        grid-template-columns: minmax(0, 1fr);
        gap: 26px;
        align-items: stretch;
    }
    .hero__content{ max-width: none; }
    .hero__title{ font-size: clamp(25px, 6.4vw, 31px); margin-bottom: 12px; }
    .hero__subtitle{ font-size: 15.5px; margin-bottom: 20px; max-width: none; }
    .hero__trust{ max-width: none; gap: 12px 16px; }
    .hero__trust-item{ font-size: 14.5px; }
    .hero__aside{ justify-content: stretch; }
    .hero__card{ max-width: none; padding: 22px 20px 20px; border-radius: 14px; }
    .hero__card-title{ font-size: 18px; margin-bottom: 16px; }
    .hero__card-form input[type="text"],
    .hero__card-form input[type="tel"]{ height: 50px; font-size: 16px; } /* 16px — чтобы iOS не зумил при фокусе */
    .hero__card-form input[type="submit"]{ height: 52px; font-size: 15px; }
}

/* Ниже 430px подписи trust в две колонки переносятся на две строки —
   на этих ширинах читаемее один столбец (проверено на 390 и 360). */
@media screen and (max-width: 429px){
    .hero__trust{ grid-template-columns: minmax(0, 1fr); gap: 10px; }
}
/* ======================= HERO 2026 — конец ============================== */

/* =========================================================================
   HERO 2026 — визуальная доработка.
   Было: почти сплошной белый overlay + полностью белая карточка — фон
   не читался. Стало: холодный сине-серый градиент меньшей плотности,
   полупрозрачные плашки trust, стеклянная карточка с синим акцентом.
   Для отката удалить блок до маркера «HERO 2026 — конец доработки».
   ========================================================================= */

/* ---- фон читается: холодный градиент вместо белой заливки ---- */
.hero::before{
    background:
        linear-gradient(104deg,
            rgba(231,240,249,.94) 0%,
            rgba(231,240,249,.86) 28%,
            rgba(224,236,248,.60) 52%,
            rgba(214,231,246,.26) 78%,
            rgba(205,225,243,.12) 100%),
        linear-gradient(180deg,
            rgba(255,255,255,.20) 0%,
            rgba(232,241,250,.00) 40%,
            rgba(28,60,96,.06) 100%);
}
.hero{ background-color: #DDE8F3; }

/* ---- H1 чуть легче ---- */
.hero__title{
    font-size: clamp(29px, 2.35vw, 38px);
    font-weight: 600;
    color: #17293D;
}
.hero__subtitle{ color: #38495C; }

/* ---- trust: лёгкие полупрозрачные плашки ---- */
.hero__trust{ gap: 10px 14px; }
.hero__trust-item{
    padding: 9px 13px;
    background: rgba(255,255,255,.66);
    border: 1px solid rgba(42,114,176,.16);
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(16,44,74,.04);
    -webkit-backdrop-filter: saturate(1.1) blur(3px);
    backdrop-filter: saturate(1.1) blur(3px);
}
.hero__trust-icon{ color: #2A72B0; }

/* ---- карточка формы: стекло, а не белый лист ---- */
.hero__card{
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(255,255,255,.72);
    border-top: 3px solid #2A72B0;
    border-radius: 16px;
    box-shadow:
        0 18px 44px rgba(16,44,74,.16),
        0 2px 8px rgba(16,44,74,.06);
    -webkit-backdrop-filter: saturate(1.15) blur(12px);
    backdrop-filter: saturate(1.15) blur(12px);
}
.hero__card-title{ color: #17293D; }

/* ---- поля: холодный оттенок и синий акцент ---- */
.hero__card-form input[type="text"],
.hero__card-form input[type="tel"],
.hero__card-form input[type="email"]{
    background: rgba(255,255,255,.92);
    border-color: #CBD9E8;
}
.hero__card-form input[type="text"]:hover,
.hero__card-form input[type="tel"]:hover{ border-color: #A8C2DC; }

/* ---- мобильный: тот же холодный тон, чуть плотнее для читаемости ---- */
@media screen and (max-width: 1023px){
    .hero::before{
        background:
            linear-gradient(180deg,
                rgba(232,241,250,.93) 0%,
                rgba(230,240,250,.86) 45%,
                rgba(226,237,248,.92) 100%);
    }
    .hero__trust-item{ padding: 9px 12px; }
    .hero__card{ border-top-width: 3px; }
}
/* ================== HERO 2026 — конец доработки ========================= */
/* мобильный: плашки trust добавили высоты — компенсируем отступами,
   чтобы Hero не разрастался (было 803px при экране 844px) */
@media screen and (max-width: 1023px){
    .hero{ padding: 28px 0 34px; }
    .hero__trust{ gap: 8px; }
    .hero__trust-item{ padding: 7px 11px; }
    .hero__card{ padding: 20px 18px 18px; }
}
/* мобильный оверлей был почти непрозрачным — фон не читался; ослабляем */
@media screen and (max-width: 1023px){
    .hero::before{
        background:
            linear-gradient(180deg,
                rgba(232,241,250,.88) 0%,
                rgba(228,238,249,.72) 42%,
                rgba(224,236,248,.84) 100%);
    }
}
/* H1 разрывал «12 Steps» между строками — балансируем строки */
.hero__title{ text-wrap: balance; }
/* ==================== HERO 2026 — конец доработки ======================= */

/* -------------------------------------------------------------------------
   Правки по факту на реальных экранах.
   1) Additional CSS Кастомайзера задаёт h1{text-align:center} глобально —
      в Hero заголовок оказывался по центру, а подзаголовок и trust слева.
   2) Русские подписи trust длиннее украинских: на 430px в две колонки они
      ломались на две строки. Колонки теперь образуются только когда реально
      помещаются, вместо фиксированного порога.
   ------------------------------------------------------------------------- */
.hero__title{ text-align: left; }

@media screen and (max-width: 1023px){
    .hero__trust{
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        max-width: 580px;
    }
}
@media screen and (max-width: 429px){
    .hero__trust{ grid-template-columns: minmax(0, 1fr); }
}
/* ============== HERO 2026 — конец правок по факту ======================= */

/* =========================================================================
   CASES 2026 — блок «С чем к нам обращаются».
   Блок добавлен целиком; для отката удалить всё до маркера «CASES 2026 — конец».
   Старые правила .services / .services__* остаются в файле, но секция
   больше не выводится в front-page.php.
   ========================================================================= */
.cases{
    padding: 64px 0 68px;
    background: #F5F8FB;
}
.cases__title{
    margin: 0 0 30px;
    font-size: clamp(24px, 1.9vw, 31px);
    line-height: 1.22;
    font-weight: 600;
    color: #1B2A3D;
    letter-spacing: -.01em;
    text-align: left;
    text-transform: none;
}

/* ------------------------------- сетка --------------------------------- */
/* 6 колонок: по 2 на карточку → 3 в первом ряду, 2 во втором.
   Второй ряд центрируется смещением на одну колонку.
   Правила :nth-last-child срабатывают только когда карточек ровно 5,
   поэтому при другом их числе сетка остаётся обычной. */
.cases__grid{
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
    align-items: stretch;
}
.cases__card{ grid-column: span 2; }
.cases__card:nth-child(4):nth-last-child(2){ grid-column: 2 / span 2; }
.cases__card:nth-child(5):nth-last-child(1){ grid-column: 4 / span 2; }

/* ------------------------------ карточка -------------------------------- */
.cases__card{
    display: flex;
    flex-direction: column;
    padding: 24px 22px 20px;
    background: #FFFFFF;
    border: 1px solid #E4EAF1;
    border-radius: 14px;
    box-shadow: 0 1px 2px rgba(16,31,48,.04);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.cases__card:hover{
    transform: translateY(-3px);
    border-color: #B9D4EC;
    box-shadow: 0 10px 26px rgba(16,31,48,.10);
}
@media (prefers-reduced-motion: reduce){
    .cases__card{ transition: none; }
    .cases__card:hover{ transform: none; }
}

.cases__icon-wrap{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-bottom: 14px;
    border-radius: 11px;
    background: rgba(42,114,176,.09);
    color: #2A72B0;
}
.cases__icon{ display: block; }

.cases__card-title{
    margin: 0 0 7px;
    font-size: 17.5px;
    line-height: 1.28;
    font-weight: 600;
    color: #1B2A3D;
    text-align: left;
    text-transform: none;
}
.cases__card-note{
    margin: 0 0 16px;
    font-size: 13.5px;
    line-height: 1.45;
    color: #66748A;
}

/* ------------------------------- ссылки --------------------------------- */
/* margin-top:auto прижимает список к низу, чтобы карточки в ряду
   выравнивались по нижней границе независимо от длины пояснения. */
.cases__links{
    margin: auto 0 0;
    padding: 14px 0 0;
    list-style: none;
    border-top: 1px solid #EDF1F6;
}
.cases__links-item{ margin: 0; }
.cases__links-item + .cases__links-item{ margin-top: 2px; }

.cases__link{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 36px;
    padding: 5px 0;
    font-size: 14.5px;
    line-height: 1.3;
    font-weight: 500;
    color: #2A72B0;
    text-decoration: none;
    transition: color .15s ease;
}
.cases__link:hover{
    color: #245F93;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.cases__link:focus-visible{
    outline: 3px solid #9CC9EE;
    outline-offset: 2px;
    border-radius: 6px;
}
.cases__link-arrow{
    flex: 0 0 auto;
    opacity: .5;
    transition: transform .15s ease, opacity .15s ease;
}
.cases__link:hover .cases__link-arrow{ opacity: 1; transform: translateX(3px); }
@media (prefers-reduced-motion: reduce){
    .cases__link-arrow{ transition: none; }
    .cases__link:hover .cases__link-arrow{ transform: none; }
}

/* ------------------------------ 1024–1279 ------------------------------- */
@media screen and (max-width: 1279px){
    .cases{ padding: 54px 0 58px; }
    .cases__grid{ gap: 16px; }
    .cases__card{ padding: 20px 18px 18px; }
    .cases__card-title{ font-size: 16.5px; }
    .cases__link{ font-size: 14px; }
}

/* -------------------------- планшет: 2 колонки -------------------------- */
/* 4 колонки по 2 на карточку → 2 в ряд, пятая центрируется. */
@media screen and (max-width: 1023px){
    .cases{ padding: 46px 0 50px; }
    .cases__title{ margin-bottom: 24px; }
    .cases__grid{ grid-template-columns: repeat(4, 1fr); }
    .cases__card{ grid-column: span 2; }
    .cases__card:nth-child(4):nth-last-child(2){ grid-column: span 2; }
    .cases__card:nth-child(5):nth-last-child(1){ grid-column: 2 / span 2; }
}

/* -------------------------- мобильный: 1 колонка ------------------------ */
@media screen and (max-width: 599px){
    .cases{ padding: 34px 0 38px; }
    .cases__title{ margin-bottom: 20px; }
    .cases__grid{ grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .cases__card,
    .cases__card:nth-child(4):nth-last-child(2),
    .cases__card:nth-child(5):nth-last-child(1){ grid-column: auto; }
    .cases__card{ padding: 20px 18px 16px; }
    .cases__icon-wrap{ width: 40px; height: 40px; margin-bottom: 12px; }
    .cases__link{ min-height: 40px; font-size: 15px; }
}
/* ======================= CASES 2026 — конец ============================== */

/* =========================================================================
   CASES 2026 — правки по факту (скриншот 1440, RU).
   Три дефекта, вызванных легаси-правилами для чужих элементов.
   ========================================================================= */

/* 1. Маркеры-точки. list-style: none на .cases__links не срабатывал:
      inline-стиль Кастомайзера задаёт li { list-style: disc } прямо на li,
      что перебивает наследование от ul. Нужен класс на самом элементе. */
.cases__links-item{ list-style: none; }

/* 2. Стрелка стояла вплотную к тексту: в теме есть глобальное
      a { display: inline-block; width: fit-content }. display я перебил,
      а width — нет, из-за чего ссылка сжималась по содержимому
      и justify-content: space-between не имел свободного места. */
.cases__link{ width: 100%; }

/* 3. Разделитель повисал в пустоте у карточек с двумя ссылками:
      margin-top: auto прижимал список к низу карточки.
      Список теперь идёт сразу за пояснением, а свободное место
      остаётся внизу карточки. */
.cases__links{ margin-top: 0; }
/* ==================== CASES 2026 — конец правок ========================== */

/* =========================================================================
   CASES 2026 — финальная полировка.
   Контраст пояснений, поведение стрелок, вертикальный ритм секции.
   ========================================================================= */

/* 1. Пояснения читались слабо: #66748A давал контраст 4.74 — впритык к AA.
      #4F5D73 даёт 6.67 и при этом остаётся заметно светлее заголовка. */
.cases__card-note{ color: #4F5D73; }

/* 2. Стрелки. Раньше это был фирменный синий, приглушённый opacity .5, —
      в покое почти не читался, а на hover добавлялся сдвиг.
      Теперь: в покое спокойный серо-синий, на hover — фирменный синий.
      Сдвиг убран, остаётся только смена цвета. */
.cases__link-arrow{
    color: #9AA7B4;
    opacity: 1;
    transition: color .15s ease;
}
.cases__link:hover .cases__link-arrow{
    color: #2A72B0;
    opacity: 1;
    transform: none;
}

/* 3. Вертикальный ритм. Между содержимым Hero и карточками было
      64 + 64 = 128px, ниже — 68px до секции преимуществ, у которой
      собственный padding-top 108px (её не трогаем). Ужимаем свою часть. */
.cases{ padding: 48px 0 52px; }

@media screen and (max-width: 1279px){
    .cases{ padding: 42px 0 46px; }
}
@media screen and (max-width: 1023px){
    .cases{ padding: 38px 0 42px; }
}
@media screen and (max-width: 599px){
    .cases{ padding: 30px 0 34px; }
}
/* ================== CASES 2026 — конец полировки ========================= */

/* =========================================================================
   WHY 2026 — блок «Почему «12 Steps»».
   Компактные факты без карточек. Белый фон — контраст с серым блоком
   сценариев выше, чтобы две секции подряд не читались одинаково.
   Для отката удалить всё до маркера «WHY 2026 — конец».
   Старые правила .advantages-section / .advantages__* остаются в файле,
   но секция больше не выводится в front-page.php.
   ========================================================================= */
.why{
    padding: 56px 0 60px;
    background: #FFFFFF;
}
.why__title{
    margin: 0 0 32px;
    font-size: clamp(24px, 1.9vw, 31px);
    line-height: 1.22;
    font-weight: 600;
    color: #1B2A3D;
    letter-spacing: -.01em;
    text-align: left;
    text-transform: none;
}

/* Сетка 3 в ряд. Пять пунктов дают 3 + 2 с выравниванием по левому краю —
   центрировать нижний ряд здесь нельзя: без рамок это выглядит
   не как композиция, а как случайно съехавшие элементы. */
.why__grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px 40px;
}

.why__item{
    display: flex;
    align-items: flex-start;
    gap: 14px;
}
.why__icon-wrap{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: rgba(42,114,176,.09);
    color: #2A72B0;
}
.why__icon{ display: block; }

.why__body{ min-width: 0; }
.why__item-title{
    margin: 0 0 5px;
    padding-top: 8px;
    font-size: 16.5px;
    line-height: 1.3;
    font-weight: 600;
    color: #1B2A3D;
    text-align: left;
    text-transform: none;
}
.why__item-note{
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: #4F5D73;
}

/* ------------------------------ 1024–1279 ------------------------------- */
@media screen and (max-width: 1279px){
    .why{ padding: 48px 0 52px; }
    .why__title{ margin-bottom: 26px; }
    .why__grid{ gap: 26px 30px; }
    .why__item-title{ font-size: 16px; }
    .why__item-note{ font-size: 13.5px; }
}

/* -------------------------- планшет: 2 колонки -------------------------- */
@media screen and (max-width: 1023px){
    .why{ padding: 42px 0 46px; }
    .why__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 28px; }
}

/* -------------------------- мобильный: 1 колонка ------------------------ */
@media screen and (max-width: 599px){
    .why{ padding: 32px 0 36px; }
    .why__title{ margin-bottom: 20px; }
    .why__grid{ grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .why__icon-wrap{ width: 38px; height: 38px; }
    .why__item{ gap: 12px; }
    .why__item-title{ padding-top: 6px; font-size: 16px; }
    .why__item-note{ font-size: 14px; }
}
/* ======================== WHY 2026 — конец =============================== */

/* =========================================================================
   STAGE 2026 — блок «Как проходит лечение» приводится к общей системе.
   Механика не трогается: те же табы, тот же JS. Меняются только заголовок,
   цвета и типографика — блок был в бирюзовой гамме (#43CED9), не совпадающей
   с Hero, сценариями и «Почему» (#2A72B0 / #1B2A3D).
   Для отката удалить всё до маркера «STAGE 2026 — конец».
   ========================================================================= */
.stage{
    padding: 56px 0 60px;
    background: #FFFFFF;
}

/* ------------------------------ заголовок ------------------------------- */
/* Было: #4396D9, 39px, вес 400, по центру, Helvetica. Приводим к тому же
   виду, что .cases__title и .why__title. */
.stage__container h2{
    margin: 0 0 30px;
    font-family: inherit;
    font-size: clamp(24px, 1.9vw, 31px);
    line-height: 1.22;
    font-weight: 600;
    color: #1B2A3D;
    letter-spacing: -.01em;
    text-align: left;
    text-transform: none;
}

/* --------------------------------- табы --------------------------------- */
.stage__container-wrap-list-item{
    justify-content: flex-start;
    text-align: left;
    padding: 13px 16px;
    border: 1px solid #D7DFE9;
    border-radius: 10px;
    background: #FFFFFF;
    color: #243447;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.stage__container-wrap-list-item:hover{
    border-color: #B9D4EC;
    background: #F5F8FB;
}
.stage__container-wrap-list-item.active{
    background: #2A72B0;
    border-color: #2A72B0;
    color: #FFFFFF;
}

/* ------------------------------- панель --------------------------------- */
.stage__container-wrap-content{
    padding: 28px;
    background: #F5F8FB;
    border: 1px solid #E4EAF1;
    border-radius: 14px;
    color: #4F5D73;
    font-size: 15px;
    line-height: 1.55;
}
.stage__container-wrap-content h3{
    margin: 0 0 10px;
    font-size: 20px;
    line-height: 1.28;
    font-weight: 600;
    color: #1B2A3D;
    text-align: left;
    text-transform: none;
}
.stage__container-wrap-content img{
    border-radius: 12px;
}

/* ------------------------------- кнопка --------------------------------- */
/* В разметке теперь <button>, а не <a href="#">, поэтому нужны сброс рамки
   и наследование шрифта. */
.stage__container-wrap-content .btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: 46px;
    padding: 0 20px;
    border: 0;
    border-radius: 10px;
    background: #2A72B0;
    color: #FFFFFF;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    text-transform: none;
    cursor: pointer;
    transition: background .15s ease, box-shadow .15s ease;
}
.stage__container-wrap-content .btn:hover{
    background: #3079B8;
    box-shadow: 0 4px 14px rgba(42,114,176,.30);
    color: #FFFFFF;
}
.stage__container-wrap-content .btn:active{ background: #245F93; box-shadow: none; }
.stage__container-wrap-content .btn:focus-visible{
    outline: 3px solid #9CC9EE;
    outline-offset: 2px;
}

/* ------------------------------- стрелки -------------------------------- */
/* Были фоновыми SVG бирюзового цвета (left.svg / right.svg) — перекрасить
   их через CSS нельзя, поэтому рисуем стрелку средствами CSS.
   Специфичность 0,3,0 — перебивает исходные .stage-btn.left / .right. */
.stage__container-buttons .stage-btn{
    background-image: none;
    background-color: #2A72B0;
    border: 0;
    border-radius: 50%;
    transition: background-color .15s ease;
}
.stage__container-buttons .stage-btn:hover{ background-color: #3079B8; }
.stage__container-buttons .stage-btn:focus-visible{
    outline: 3px solid #9CC9EE;
    outline-offset: 2px;
}
.stage__container-buttons .stage-btn::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 9px;
    height: 9px;
    border-right: 2px solid #FFFFFF;
    border-bottom: 2px solid #FFFFFF;
}
.stage__container-buttons .stage-btn.left::before{
    transform: translate(-35%, -50%) rotate(135deg);
}
.stage__container-buttons .stage-btn.right::before{
    transform: translate(-65%, -50%) rotate(-45deg);
}

/* ------------------------------ мобильный ------------------------------- */
@media screen and (max-width: 1023px){
    .stage{ padding: 42px 0 46px; }
}
@media screen and (max-width: 599px){
    .stage{ padding: 32px 0 36px; }
    .stage__container h2{ margin-bottom: 20px; }
    .stage__container-wrap-content{ padding: 20px; }
    .stage__container-wrap-content h3{ font-size: 18px; }
    .stage__container-wrap-content .btn{ height: 48px; font-size: 15px; }
}
/* ======================= STAGE 2026 — конец ============================== */

/* =========================================================================
   STAGE 2026 — перестройка в горизонтальный степпер.
   Было: две колонки — список шагов слева, панель справа. Их высоты
   принципиально не совпадали (пять табов против картинки с текстом).
   Стало: шаги строкой сверху, панель во всю ширину снизу.
   Шаблон и JS не трогаются: JS ставит панели инлайновый display:flex,
   и раскладка панели построена именно на flex, чтобы это не мешало.
   Для отката удалить всё до маркера «STAGE 2026 — конец степпера».
   ========================================================================= */

/* У .stage__container стоит align-items:center — из-за этого h2 сжимался
   по содержимому и вставал по центру, хотя text-align был left.
   Растягиваем детей на всю ширину контейнера. */
.stage__container{
    align-items: stretch;
}

.stage__container-wrap{
    flex-direction: column;
    gap: 22px;
    width: 100%;
    max-width: none;
}

/* ------------------------------ шаги строкой ---------------------------- */
.stage__container-wrap-list{
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 10px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow-x: visible;
}
.stage__container-wrap-list-item{
    flex: 1 1 0;
    min-width: 0;
    justify-content: center;
    text-align: center;
    padding: 12px 10px;
    font-size: 15px;
}

/* -------------------------------- панель -------------------------------- */
.stage__container-wrap-content{
    flex-direction: row;
    align-items: flex-start;
    gap: 28px;
    width: 100%;
    /* в теме осталось max-width:732px от прежней правой колонки */
    max-width: none;
}
.stage__container-wrap-content img{
    flex: 0 0 400px;
    width: 400px;
    max-width: 100%;
    margin: 0;
}
.stage__text{
    flex: 1 1 auto;
    min-width: 0;
}
.stage__container-wrap-content p{
    margin: 0 0 20px;
    font-size: 15px;
    line-height: 1.55;
    color: #4F5D73;
}

/* Стрелки больше не нужны: все пять шагов видны и кликабельны одновременно.
   На ширинах до 767px они и раньше были скрыты. */
.stage__container-buttons{
    display: none;
}

/* ------------------------------ 1024–1279 ------------------------------- */
@media screen and (max-width: 1279px){
    .stage__container-wrap-list-item{ font-size: 14px; padding: 11px 8px; }
    .stage__container-wrap-content img{ flex-basis: 340px; width: 340px; }
    .stage__container-wrap-content{ gap: 22px; }
}

/* --------------------------- планшет и мобильный ------------------------ */
@media screen and (max-width: 1023px){
    /* шаги остаются строкой, но прокручиваются по горизонтали */
    .stage__container-wrap-list{ overflow-x: auto; }
    .stage__container-wrap-list-item{ flex: 0 0 auto; padding: 11px 14px; }
    /* картинка над текстом */
    .stage__container-wrap-content{ flex-direction: column; gap: 18px; }
    .stage__container-wrap-content img{ flex: none; width: 100%; }
}
@media screen and (max-width: 599px){
    .stage__container-wrap{ gap: 18px; }
    .stage__container-wrap-content p{ margin-bottom: 16px; }
}
/* ==================== STAGE 2026 — конец степпера ======================== */

/* =========================================================================
   TEAM 2026 — блок «Врачи и специалисты».
   Серый фон — чередование с белым блоком этапов выше.
   Для отката удалить всё до маркера «TEAM 2026 — конец».
   ========================================================================= */
.team{
    padding: 56px 0 60px;
    background: #F5F8FB;
}
.team__title{
    margin: 0 0 30px;
    font-family: inherit;
    font-size: clamp(24px, 1.9vw, 31px);
    line-height: 1.22;
    font-weight: 600;
    color: #1B2A3D;
    letter-spacing: -.01em;
    text-align: left;
    text-transform: none;
}

.team__grid{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}

/* Карточка целиком — ссылка. Глобальное a{width:fit-content} в теме
   пришлось бы перебивать, поэтому ширина задана явно. */
.team__card{
    display: flex;
    flex-direction: column;
    width: 100%;
    background: #FFFFFF;
    border: 1px solid #E4EAF1;
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(16,31,48,.04);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.team__card:hover{
    transform: translateY(-3px);
    border-color: #B9D4EC;
    box-shadow: 0 10px 26px rgba(16,31,48,.10);
    text-decoration: none;
}
.team__card:focus-visible{
    outline: 3px solid #9CC9EE;
    outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce){
    .team__card{ transition: none; }
    .team__card:hover{ transform: none; }
}

/* Портреты приходят разного размера и пропорций, поэтому кадрируем
   в единое соотношение и прижимаем к верху — лицо не срезается. */
.team__photo{
    display: block;
    width: 100%;
    aspect-ratio: 3 / 4;
    background: #E9EFF6;
    overflow: hidden;
}
.team__photo img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    border-radius: 0;
    margin: 0;
}

.team__body{
    display: block;
    padding: 16px 18px 18px;
}
.team__name{
    display: block;
    margin-bottom: 5px;
    font-size: 17px;
    line-height: 1.28;
    font-weight: 600;
    color: #1B2A3D;
}
.team__position{
    display: block;
    font-size: 13.5px;
    line-height: 1.45;
    color: #4F5D73;
}

/* ------------------------- кнопка «Все специалисты» --------------------- */
.team__more{
    margin-top: 28px;
}
.team__more-link{
    display: inline-flex;
    align-items: center;
    gap: 9px;
    width: auto;
    height: 46px;
    padding: 0 22px;
    border: 1px solid #2A72B0;
    border-radius: 10px;
    background: transparent;
    color: #2A72B0;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: background .15s ease, color .15s ease;
}
.team__more-link:hover{
    background: #2A72B0;
    color: #FFFFFF;
    text-decoration: none;
}
.team__more-link:focus-visible{
    outline: 3px solid #9CC9EE;
    outline-offset: 2px;
}

/* ------------------------------ 1024–1279 ------------------------------- */
@media screen and (max-width: 1279px){
    .team{ padding: 48px 0 52px; }
    .team__grid{ gap: 18px; }
    .team__name{ font-size: 16px; }
    .team__position{ font-size: 13px; }
    .team__body{ padding: 14px 15px 16px; }
}

/* -------------------------- планшет: 2 колонки -------------------------- */
@media screen and (max-width: 1023px){
    .team{ padding: 42px 0 46px; }
    .team__title{ margin-bottom: 24px; }
    .team__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}

/* -------------------------- мобильный: 1 колонка ------------------------ */
@media screen and (max-width: 599px){
    .team{ padding: 32px 0 36px; }
    .team__title{ margin-bottom: 20px; }
    .team__grid{ grid-template-columns: minmax(0, 1fr); gap: 14px; }
    /* в одну колонку портрет 3/4 занимает слишком много экрана */
    .team__photo{ aspect-ratio: 4 / 3; }
    .team__more{ margin-top: 22px; }
    .team__more-link{ width: 100%; justify-content: center; height: 48px; }
}
/* ======================== TEAM 2026 — конец ============================== */

/* =========================================================================
   STAGE 2026 — разделитель между «Почему «12 Steps»» и «Как проходит лечение».
   Обе секции на белом фоне и визуально сливались в одну.
   Линия задана на .stage__container, а не на секции: контейнер занимает
   ровно ширину контента (110→1320 на 1440), поэтому линия совпадает
   по краям с заголовками блоков, а не тянется во всю ширину экрана.
   Верхний отступ перенесён с секции на контейнер, чтобы линия оказалась
   над ним, а не под.
   ========================================================================= */
.stage{ padding-top: 0; }
.stage__container{
    border-top: 1px solid #E9EFF6;
    padding-top: 48px;
}
@media screen and (max-width: 1279px){ .stage__container{ padding-top: 42px; } }
@media screen and (max-width: 1023px){ .stage__container{ padding-top: 36px; } }
@media screen and (max-width: 599px){  .stage__container{ padding-top: 28px; } }
/* ================= STAGE 2026 — конец разделителя ======================== */

/* =========================================================================
   STAGE 2026 — шаги на мобильном без горизонтальной прокрутки.
   Было: список шагов уезжал за экран с overflow-x, и Windows рисовал
   классическую полосу прокрутки — она занимала место и читалась как
   обрезок вёрстки. Прятать полосу, оставив свайп, нельзя: о возможности
   прокрутки никто не догадается и шаги 2–5 останутся ненайденными.
   Теперь шаги переносятся по две в ряд и все видны сразу.
   ========================================================================= */
@media screen and (max-width: 1023px){
    .stage__container-wrap-list{
        flex-wrap: wrap;
        overflow-x: visible;
        gap: 10px;
    }
    .stage__container-wrap-list-item{
        flex: 1 1 calc(50% - 5px);
        min-width: 0;
        justify-content: flex-start;
        text-align: left;
        padding: 11px 13px;
        font-size: 14px;
        line-height: 1.3;
    }
}
@media screen and (max-width: 599px){
    .stage__container-wrap-list{ gap: 8px; }
    .stage__container-wrap-list-item{
        flex-basis: calc(50% - 4px);
        padding: 10px 12px;
        font-size: 13.5px;
    }
}
/* ============ STAGE 2026 — конец мобильных шагов ========================= */

/* В теме на ≤767px задано body .stage__container-wrap-list-item
   { width:100%; max-width:70%; min-width:65% } — эти проценты держали
   по одному шагу в ряду. Селектор с body нужен, чтобы совпасть по
   специфичности (0,1,1) и перебить порядком в файле. */
@media screen and (max-width: 1023px){
    body .stage__container-wrap-list-item{
        width: auto;
        min-width: 0;
        max-width: none;
        flex: 1 1 calc(50% - 5px);
    }
}
@media screen and (max-width: 599px){
    body .stage__container-wrap-list-item{ flex-basis: calc(50% - 4px); }
}

/* Цель нажатия: после переноса в две колонки высота шага составила 32px,
   что меньше минимума в 44px для касания. */
@media screen and (max-width: 1023px){
    body .stage__container-wrap-list-item{
        min-height: 44px;
        align-items: center;
    }
}

/* =========================================================================
   TEAM 2026 — горизонтальная карточка на мобильном.
   Вертикальная карточка занимала 345px (41% экрана), из них 269px портрет,
   а весь блок — 1665px, то есть два полных экрана на четырёх специалистов.
   Задача блока — быстро показать, что за клиникой стоят конкретные люди;
   ради этого столько прокрутки не нужно. Портрет уходит влево квадратом,
   имя и должность — справа.
   ========================================================================= */
@media screen and (max-width: 599px){
    .team__card{
        flex-direction: row;
        align-items: center;
    }
    .team__photo{
        flex: 0 0 110px;
        width: 110px;
        aspect-ratio: 1 / 1;
    }
    .team__body{
        flex: 1 1 auto;
        min-width: 0;
        padding: 12px 15px;
    }
    .team__name{ font-size: 16px; margin-bottom: 4px; }
    .team__position{ font-size: 13px; line-height: 1.4; }
}
/* ================= TEAM 2026 — конец мобильной карточки ================== */

/* Планшет 600–1023px: карточки остаются вертикальными по две в ряд, но при
   ширине 355px пропорция 3/4 давала портрет высотой 471px и блок в 1365px.
   Квадрат уменьшает карточку примерно на треть, кадрирование по верху
   сохраняет лицо. */
@media screen and (min-width: 600px) and (max-width: 1023px){
    .team__photo{ aspect-ratio: 1 / 1; }
}

/* =========================================================================
   INSIDE 2026 — блок «Центр изнутри».
   Белый фон: секция «Врачи и специалисты» выше — серая, цвет и разделяет их.
   Ниже идёт белая секция новостей, поэтому граница снизу задана хайрлайном
   на .inside__container — как это уже сделано между «Почему» и «Этапами».
   Ширину плитки задаёт класс --wide, который шаблон проставляет по
   пропорциям самого файла. Равные высоты держит grid-auto-rows + span 2:
   фиксированный aspect-ratio здесь не годится — доля gap в широкой плитке
   зависит от ширины колонки, и ряды переставали совпадать.
   Для отката удалить всё до маркера «INSIDE 2026 — конец».
   ========================================================================= */
.inside{
    padding: 56px 0 0;
    background: #FFFFFF;
}
.inside__container{
    padding-bottom: 56px;
    border-bottom: 1px solid #E9EFF6;
}
/* Глобальное h2{color:#0073aa} в теме перебивается явно, как в .team__title. */
.inside__title{
    margin: 0 0 10px;
    font-family: inherit;
    font-size: clamp(24px, 1.9vw, 31px);
    line-height: 1.22;
    font-weight: 600;
    color: #1B2A3D;
    letter-spacing: -.01em;
    text-align: left;
    text-transform: none;
}
.inside__note{
    max-width: 760px;
    margin: 0 0 26px;
    font-size: 15.5px;
    line-height: 1.55;
    color: #4F5D73;
}
.inside__title:last-child{ margin-bottom: 30px; }

/* ------------------------------- сетка ---------------------------------- */
.inside__grid{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: 190px;
    grid-auto-flow: dense;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.inside__item{
    grid-column: span 1;
    grid-row: span 2;
    margin: 0;
    padding: 0;
    color: inherit;           /* в теме есть глобальное li{color:#566ED0} */
    list-style: none;
}
.inside__item--wide{ grid-column: span 2; }
/* Скрипт прячет лишние плитки атрибутом hidden. Правило браузера по
   умолчанию перебивается любым явным display, поэтому задаём своё —
   у .inside__item его нет, но полагаться на это между версиями темы не стоит. */
.inside__item[hidden]{ display: none; }

/* Плитка — кнопка: она открывает лайтбокс, а не ведёт на другой адрес.
   Глобальное button{outline:none;transition:all .5s} перебивается здесь. */
.inside__tile{
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 1px solid #E4EAF1;
    border-radius: 14px;
    background: #E9EFF6;
    overflow: hidden;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.inside__tile:hover{
    transform: translateY(-3px);
    border-color: #B9D4EC;
    box-shadow: 0 10px 26px rgba(16,31,48,.10);
}
.inside__tile:focus-visible{
    outline: 3px solid #9CC9EE;
    outline-offset: 2px;
}
.inside__img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    margin: 0;
    border-radius: 0;
}
.inside__caption{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 26px 13px 11px;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 500;
    color: #FFFFFF;
    text-align: left;
    background: linear-gradient(to top, rgba(11,22,35,.82) 0%, rgba(11,22,35,.55) 55%, rgba(11,22,35,0) 100%);
    pointer-events: none;
}
/* В этой теме нет .screen-reader-text (в style.css класс не определён,
   а Bootstrap даёт только .sr-only), поэтому подпись пришлось бы показывать
   на плитке. Держим свой класс внутри блока — так он уедет вместе с откатом. */
.inside__sr{
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}
.inside__zoom{
    position: absolute;
    top: 10px;
    right: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255,255,255,.92);
    color: #2A72B0;
    opacity: 0;
    transform: scale(.9);
    transition: opacity .18s ease, transform .18s ease;
    pointer-events: none;
}
.inside__tile:hover .inside__zoom,
.inside__tile:focus-visible .inside__zoom{
    opacity: 1;
    transform: scale(1);
}
/* На тач-экранах hover не наступает — значок показываем сразу. */
@media (hover: none){
    .inside__zoom{ opacity: 1; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce){
    .inside__tile,
    .inside__zoom{ transition: none; }
    .inside__tile:hover{ transform: none; }
}

/* --------------------- кнопка «Все фото» (необязательная) --------------- */
/* Повторяет .team__more-link — на главной уже есть такая кнопка-контур. */
.inside__more{ margin-top: 28px; }
.inside__more-link{
    display: inline-flex;
    align-items: center;
    gap: 9px;
    width: auto;
    height: 46px;
    padding: 0 22px;
    border: 1px solid #2A72B0;
    border-radius: 10px;
    background: transparent;
    color: #2A72B0;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: background .15s ease, color .15s ease;
}
.inside__more-link:hover{
    background: #2A72B0;
    color: #FFFFFF;
    text-decoration: none;
}
.inside__more-link:focus-visible{
    outline: 3px solid #9CC9EE;
    outline-offset: 2px;
}

/* ------------------------------ лайтбокс -------------------------------- */
/* z-index выше 1000 — максимума в теме; виджеты Binotel подключены через GTM
   и перекрывают контент, поэтому запас взят с большим отрывом. */
.inside__lightbox{
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}
.inside__lightbox[hidden]{ display: none; }
.inside__backdrop{
    position: absolute;
    inset: 0;
    background: rgba(9,17,28,.9);
}
.inside__dialog{
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    max-width: 1180px;
    width: 100%;
}
.inside__figure{
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    text-align: center;
}
/* width:auto — защита от правила темы @media(max-width:768px){img{width:100%}}:
   оно растянуло бы кадр на всю ширину диалога и сломало object-fit. */
.inside__full{
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 78vh;
    margin: 0 auto;
    object-fit: contain;
    border-radius: 10px;
    background: #0B1623;
}
.inside__figcaption{
    margin: 12px 0 0;
    font-size: 14.5px;
    line-height: 1.45;
    color: #E7EEF6;
}
.inside__figcaption:empty{ display: none; }
.inside__counter{
    position: absolute;
    left: 50%;
    bottom: -34px;
    transform: translateX(-50%);
    margin: 0;
    font-size: 13px;
    color: #9FB3C8;
    white-space: nowrap;
}

/* Кнопки диалога. Шеврон рисуется на CSS — так же, как в блоке этапов. */
.inside__nav,
.inside__close{
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,.14);
    color: #FFFFFF;
    cursor: pointer;
    transition: background .15s ease;
}
.inside__nav:hover,
.inside__close:hover{ background: rgba(255,255,255,.28); }
.inside__nav:focus-visible,
.inside__close:focus-visible{
    outline: 3px solid #9CC9EE;
    outline-offset: 2px;
}
.inside__nav::before{
    content: "";
    width: 11px;
    height: 11px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
}
.inside__nav--prev::before{ transform: rotate(-135deg); margin-left: 4px; }
.inside__nav--next::before{ transform: rotate(45deg);   margin-right: 4px; }
.inside__nav[disabled]{ opacity: .32; cursor: default; }
.inside__nav[disabled]:hover{ background: rgba(255,255,255,.14); }
.inside__close{
    position: absolute;
    top: -54px;
    right: 0;
}
body.inside-lock{ overflow: hidden; }

/* ------------------------------ 1024–1279 -------------------------------- */
@media screen and (max-width: 1279px){
    .inside{ padding-top: 48px; }
    .inside__container{ padding-bottom: 48px; }
    .inside__grid{ gap: 12px; grid-auto-rows: 178px; }
}

/* ------------------------------- планшет --------------------------------- */
@media screen and (max-width: 1023px){
    .inside{ padding-top: 42px; }
    .inside__container{ padding-bottom: 42px; }
    .inside__note{ margin-bottom: 22px; }
    /* Четыре колонки держатся до 600px: при двух девять фото давали
       вдвое более длинный блок, а лайтбокс всё равно показывает деталь. */
    .inside__grid{ gap: 10px; grid-auto-rows: 135px; }
    .inside__caption{ padding: 22px 10px 9px; font-size: 12px; }
    .inside__zoom{ width: 30px; height: 30px; }
}

/* ------------------------------- мобильный ------------------------------- */
@media screen and (max-width: 599px){
    .inside{ padding-top: 32px; }
    .inside__container{ padding-bottom: 32px; }
    .inside__title{ margin-bottom: 8px; }
    .inside__note{ font-size: 14.5px; margin-bottom: 18px; }
    .inside__title:last-child{ margin-bottom: 20px; }
    .inside__grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: 100px;
    }
    /* Плитка здесь заметно шире исходного кадра, и при центрировании
       нижнюю треть занимал бы пол. Смещаем окно вверх — в кадре остаются
       кровати и окно, а у фасада вывеска. */
    .inside__img{ object-position: center 40%; }
    .inside__more{ margin-top: 22px; }
    .inside__more-link{ width: 100%; justify-content: center; height: 48px; }
    .inside__lightbox{ padding: 14px; }
    .inside__dialog{ flex-wrap: wrap; justify-content: center; gap: 10px; }
    .inside__figure{ flex: 1 0 100%; order: 1; }
    .inside__full{ max-height: 64vh; }
    .inside__nav{ order: 2; width: 44px; height: 44px; }
    .inside__close{ top: -50px; width: 44px; height: 44px; }
    .inside__counter{ position: static; order: 3; transform: none; margin: 0 6px; }
    .inside__figcaption{ font-size: 13.5px; }
}
/* Кнопка «Показать все фото». Скрыта на широких экранах: там сетка в
   четыре колонки и блок укладывается в 1210px. На телефоне колонок две,
   блок вытягивается за 1300px — скрипт прячет часть плиток и снимает
   с кнопки hidden. Атрибут hidden перебит явно: в теме есть глобальное
   button{outline:none;transition:all .5s}, но display оно не трогает,
   а вот [hidden] у кнопки надёжнее задать самому. */
.inside__expand[hidden]{ display: none; }
.inside__expand{
    display: none;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin: 16px 0 0;
    padding: 12px 18px;
    border: 1px solid #B9D4EC;
    border-radius: 10px;
    background: #FFFFFF;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    color: #2A72B0;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease;
}
.inside__expand:hover{ background: #F5F8FB; border-color: #2A72B0; }
.inside__expand:focus-visible{ outline: 3px solid #9CC9EE; outline-offset: 2px; }
/* Стрелка вниз, когда свёрнуто, и вверх, когда развёрнуто. */
.inside__expand svg{ transition: transform .18s ease; }
.inside__expand[aria-expanded="true"] svg{ transform: rotate(180deg); }

@media (max-width: 599px){
    .inside__expand{ display: flex; }
}

/* ======================= INSIDE 2026 — конец ============================= */

/* =========================================================================
   REVIEWS 2026 — блок «Отзывы».
   Серый фон: секция «Центр изнутри» выше белая, ниже белые новости, —
   цвет разделяет блок с обеих сторон, хайрлайн здесь не нужен.
   Плитка вертикальная, 9:16. Все восемь роликов сняты вертикально, и
   maxresdefault отдаётся в 16:9 с затемнённой подложкой по бокам — в
   горизонтальной плитке человек занимал полосу шириной в треть кадра.
   Подложка срезана скриптом crop-posters.php, постеры лежат 403×720.
   Пропорцию держит aspect-ratio: постеры одного формата, ряды совпадают
   и без grid-auto-rows, в отличие от мозаики блока «Центр изнутри».
   Для отката удалить всё до маркера «REVIEWS 2026 — конец».
   ========================================================================= */
.reviews{
    padding: 56px 0;
    background: #F5F8FB;
}
/* Глобальное h2{color:#0073aa} в теме перебивается явно, как в .inside__title. */
.reviews__title{
    margin: 0 0 10px;
    font-family: inherit;
    font-size: clamp(24px, 1.9vw, 31px);
    line-height: 1.22;
    font-weight: 600;
    color: #1B2A3D;
    letter-spacing: -.01em;
    text-align: left;
    text-transform: none;
}
.reviews__note{
    max-width: 760px;
    margin: 0 0 26px;
    font-size: 15.5px;
    line-height: 1.55;
    color: #4F5D73;
}
.reviews__title:last-child{ margin-bottom: 30px; }

/* --------------------------- полоса прокрутки --------------------------- */
/* Сетка в два ряда давала блок высотой 1122px — на ноутбуке он занимал
   весь экран. Стало: один ряд с горизонтальной прокруткой, четыре плитки
   в видимой части плюс краешек пятой.
   Краешек здесь не украшение, а единственный честный сигнал, что справа
   есть ещё: в блоке этапов уже наступали на то, что о скрытой прокрутке
   никто не догадывается. Поэтому же оставлена видимая полоса прокрутки
   (только утончённая) и добавлены стрелки. */
.reviews__scroller{
    position: relative;
}
.reviews__grid{
    display: flex;
    gap: 14px;
    margin: 0;
    padding: 0 0 12px;        /* место под полосу прокрутки, иначе она ляжет на подписи */
    list-style: none;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;   /* чтобы свайп не уводил историю браузера назад */
    -webkit-overflow-scrolling: touch;
}
.reviews__grid:focus-visible{
    outline: 3px solid #9CC9EE;
    outline-offset: 4px;
}
/* Ширина плитки: четыре штуки, три зазора и 34px на краешек пятой. */
.reviews__item{
    flex: 0 0 calc((100% - 42px - 34px) / 4);
    scroll-snap-align: start;
    margin: 0;
    padding: 0;
    color: inherit;           /* в теме есть глобальное li{color:#566ED0} */
    list-style: none;
}

/* Полоса прокрутки. Не прячем — она и есть подсказка, что можно листать. */
.reviews__grid{ scrollbar-width: thin; scrollbar-color: #B9D4EC #E4EAF1; }
.reviews__grid::-webkit-scrollbar{ height: 6px; }
.reviews__grid::-webkit-scrollbar-track{ background: #E4EAF1; border-radius: 3px; }
.reviews__grid::-webkit-scrollbar-thumb{ background: #B9D4EC; border-radius: 3px; }
.reviews__grid::-webkit-scrollbar-thumb:hover{ background: #2A72B0; }

/* Стрелки. Атрибут hidden снимает скрипт, когда листать действительно есть
   куда, — при восьми отзывах на широком экране это всегда так, но блок
   рассчитан и на меньшее их число. */
.reviews__arrow{
    position: absolute;
    z-index: 2;
    /* Высота полосы = плитка + подпись (10 отступ + 22 строка) + 12 под
       ползунок, итого плитка + 44. Значит центр плитки лежит на 22px выше
       середины полосы — иначе стрелка съезжает на подписи. */
    top: calc(50% - 22px);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    padding: 0;
    border: 1px solid #E4EAF1;
    border-radius: 50%;
    background: #FFFFFF;
    color: #2A72B0;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(27, 42, 61, .18);
    transition: background .18s ease, border-color .18s ease, opacity .18s ease;
}
.reviews__arrow--prev{ left: -8px; }
.reviews__arrow--next{ right: -8px; }
.reviews__arrow:hover{ background: #F5F8FB; border-color: #B9D4EC; }
.reviews__arrow:focus-visible{ outline: 3px solid #9CC9EE; outline-offset: 2px; }
.reviews__arrow[disabled]{
    opacity: .35;
    cursor: default;
    box-shadow: none;
}
.reviews__arrow[hidden]{ display: none; }
/* Плитка ниже, чем сам ролик: 9:13 вместо 9:16, то есть на 19% короче
   при той же ширине. Полная высота вертикального видео на телефоне давала
   плитку 540-612px — она занимала почти весь экран.
   Уменьшать вместо этого ширину было нельзя: на 390px плитка ужалась бы
   до 245px, и человек стал бы мельче ровно в том блоке, который делается
   ради того, чтобы его было видно.
   Расплата — при проигрывании YouTube впишет ролик 9:16 в более широкую
   рамку по высоте: ролик займёт 13/16 = 81% ширины, по краям останутся
   чёрные поля примерно по 9% с каждой стороны. */
.reviews__frame{
    position: relative;
    aspect-ratio: 9 / 13;
    border-radius: 14px;
    overflow: hidden;
    background: #E9EFF6;
}

/* Плитка — кнопка: она подставляет плеер, а не ведёт на другой адрес.
   Глобальное button{outline:none;transition:all .5s} перебивается здесь. */
.reviews__play{
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 1px solid #E4EAF1;
    border-radius: 14px;
    background: #E9EFF6;
    overflow: hidden;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.reviews__play:hover{
    transform: translateY(-2px);
    border-color: #B9D4EC;
    box-shadow: 0 8px 20px rgba(27, 42, 61, .12);
}
.reviews__play:focus-visible{
    outline: 3px solid #9CC9EE;
    outline-offset: 2px;
}
.reviews__poster{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Постер 403x720 в рамке 9:13 показывается на 81% высоты. Смещение
       вверх срезает низ кадра, а не головы: люди сняты в рост, лица лежат
       в верхней трети. */
    object-position: center 20%;
}
/* Затемнение под кнопкой play: постеры YouTube светлые по краям,
   на них белый треугольник терялся. */
.reviews__play::after{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(27, 42, 61, .04) 0%, rgba(27, 42, 61, .34) 100%);
    transition: background .18s ease;
}
.reviews__play:hover::after{
    background: linear-gradient(180deg, rgba(27, 42, 61, .10) 0%, rgba(27, 42, 61, .44) 100%);
}
.reviews__play-icon{
    position: absolute;
    z-index: 1;                /* поверх затемнения ::after */
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin: -29px 0 0 -29px;
    border-radius: 50%;
    background: rgba(42, 114, 176, .92);
    color: #FFFFFF;
    box-shadow: 0 4px 14px rgba(27, 42, 61, .28);
    transition: background .18s ease, transform .18s ease;
}
.reviews__play-icon svg{
    margin-left: 3px;          /* оптический центр треугольника левее геометрического */
}
.reviews__play:hover .reviews__play-icon{
    background: #3079B8;
    transform: scale(1.06);
}
.reviews__play:active .reviews__play-icon{ background: #245F93; }

/* Подпись кнопки для скринридера.
   Свой класс, а не .screen-reader-text: в этой теме такого класса нет
   (Bootstrap даёт только .sr-only), и текст отрисовался бы поверх плитки.
   Заведён внутри блока, чтобы уехал вместе с откатом. */
.reviews__sr{
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}
.reviews__name{
    margin: 10px 0 0;
    font-size: 15.5px;
    line-height: 1.4;
    font-weight: 600;
    color: #243447;
}

/* Плеер, подставленный по клику. Ширину задаём явно: в теме на ≤768px
   есть img{width:100%}, но iframe под это правило не подпадает. */
.reviews__frame iframe{
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

/* ----------------------------- адаптив ---------------------------------- */
/* Сколько плиток в видимой части. Число подобрано так, чтобы плитка
   оставалась в диапазоне 150–290px по ширине: уже — лица не видно,
   шире — ряд перестаёт помещаться в экран, ради чего всё и затевалось. */
@media (max-width: 1023px){
    .reviews__item{ flex: 0 0 calc((100% - 28px - 30px) / 3); }
    .reviews__play-icon{
        width: 50px; height: 50px; margin: -25px 0 0 -25px;
    }
}
@media (max-width: 767px){
    .reviews{ padding: 40px 0; }
    .reviews__name{ margin-top: 8px; font-size: 14px; }
    .reviews__item{ flex: 0 0 calc((100% - 14px - 40px) / 2); }
    /* Стрелки на тач-экранах не нужны: там листают пальцем, а сами кнопки
       заняли бы место, которого и так нет. */
    .reviews__arrow{ display: none; }
}
@media (max-width: 479px){
    .reviews__grid{ gap: 12px; }
    .reviews__item{ flex: 0 0 calc(100% - 56px); }
    .reviews__play-icon{
        width: 52px; height: 52px; margin: -26px 0 0 -26px;
    }
}
/* ======================= REVIEWS 2026 — конец ============================ */

/* =========================================================================
   CONTACTS 2026 — блок «Контакты + карта».
   Белый фон: секция отзывов выше — серая, цвет и разделяет их. Ниже идут
   белые новости, поэтому граница снизу задана хайрлайном на контейнере —
   тот же приём, что между «Почему» и «Этапами» и под «Центром изнутри».
   Для отката удалить всё до маркера «CONTACTS 2026 — конец».
   ========================================================================= */
.contacts{
    padding: 56px 0 0;
    background: #FFFFFF;
}
.contacts__container{
    padding-bottom: 56px;
    border-bottom: 1px solid #E9EFF6;
}
/* Глобальное h2{color:#0073aa} в теме перебивается явно, как в .inside__title. */
.contacts__title{
    margin: 0 0 10px;
    font-family: inherit;
    font-size: clamp(24px, 1.9vw, 31px);
    line-height: 1.22;
    font-weight: 600;
    color: #1B2A3D;
    letter-spacing: -.01em;
    text-align: left;
    text-transform: none;
}
.contacts__note{
    max-width: 760px;
    margin: 0 0 26px;
    font-size: 15.5px;
    line-height: 1.55;
    color: #4F5D73;
}
.contacts__title:last-child{ margin-bottom: 30px; }

/* Карта шире колонки с текстом: адрес и три кнопки занимают мало места,
   а карта тем полезнее, чем крупнее. */
.contacts__cols{
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 28px;
    /* По центру, а не по верху: в левой колонке адрес и три кнопки, в правой
       карта 16:9 — при выравнивании по верху под мессенджерами оставалось
       около 130px пустоты. В одну колонку это правило не влияет: там каждый
       элемент в своём ряду по высоте содержимого. */
    align-items: center;
}

/* ------------------------------ левая колонка --------------------------- */
.contacts__row + .contacts__row{ margin-top: 22px; }
/* Заголовки внутри блока — h3, глобальные стили заголовков темы перебиваем. */
.contacts__label{
    margin: 0 0 6px;
    font-family: inherit;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-align: left;
    color: #4F5D73;
}
.contacts__address{
    margin: 0;
    font-size: 16.5px;
    line-height: 1.5;
    color: #243447;
}
.contacts__phones,
.contacts__msg{
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
}
.contacts__phones{ flex-direction: column; gap: 4px; }
.contacts__msg{ flex-wrap: wrap; gap: 8px; }
.contacts__phones-item,
.contacts__msg-item{
    margin: 0;
    padding: 0;
    color: inherit;           /* в теме есть глобальное li{color:#566ED0} */
    list-style: none;
}
/* Глобальное a{display:inline-block;width:fit-content} в теме — ширину
   задаём явно там, где она важна (та же правка, что в .cases__link). */
.contacts__phone{
    display: inline-block;
    font-size: 19px;
    line-height: 1.4;
    font-weight: 600;
    color: #1B2A3D;
    text-decoration: none;
}
.contacts__phone:hover{ color: #2A72B0; }
.contacts__phone:focus-visible{ outline: 3px solid #9CC9EE; outline-offset: 2px; }

.contacts__msg-link{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 14px;
    border: 1px solid #E4EAF1;
    border-radius: 10px;
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1.2;
    color: #243447;
    text-decoration: none;
    transition: border-color .18s ease, background .18s ease, color .18s ease;
}
.contacts__msg-link:hover{ border-color: #B9D4EC; background: #F5F8FB; color: #1B2A3D; }
.contacts__msg-link:focus-visible{ outline: 3px solid #9CC9EE; outline-offset: 2px; }
.contacts__msg-icon{ display: flex; }
/* Фирменные цвета мессенджеров — только на иконке, не на всей кнопке:
   три разноцветные плашки подряд спорили бы с синим блока. */
.contacts__msg-link--whatsapp .contacts__msg-icon{ color: #25D366; }
.contacts__msg-link--telegram .contacts__msg-icon{ color: #29A9EB; }
.contacts__msg-link--viber    .contacts__msg-icon{ color: #7360F2; }

/* --------------------------------- карта -------------------------------- */
.contacts__map-frame{
    position: relative;
    aspect-ratio: 16 / 9;
    border-radius: 14px;
    overflow: hidden;
    background: #E9EFF6;
}
/* Превью — кнопка: она подставляет карту, а не ведёт на другой адрес.
   Глобальное button{outline:none;transition:all .5s} перебивается здесь. */
.contacts__map-btn{
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 1px solid #E4EAF1;
    border-radius: 14px;
    background: #E9EFF6;
    overflow: hidden;
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.contacts__map-btn:hover{ border-color: #B9D4EC; box-shadow: 0 8px 20px rgba(27, 42, 61, .12); }
.contacts__map-btn:focus-visible{ outline: 3px solid #9CC9EE; outline-offset: 2px; }
.contacts__map-img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.contacts__map-cta{
    position: absolute;
    left: 50%;
    bottom: 16px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    transform: translateX(-50%);
    padding: 10px 16px;
    border-radius: 10px;
    background: #2A72B0;
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1.2;
    color: #FFFFFF;
    white-space: nowrap;
    box-shadow: 0 4px 14px rgba(27, 42, 61, .28);
    transition: background .18s ease;
}
.contacts__map-btn:hover .contacts__map-cta{ background: #3079B8; }
.contacts__map-btn:active .contacts__map-cta{ background: #245F93; }
/* Ширину задаём явно: темовое @media(max-width:768px){img{width:100%}}
   на iframe не распространяется. */
.contacts__map-frame iframe{
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}
.contacts__route{
    display: inline-block;
    margin-top: 12px;
    font-size: 15px;
    font-weight: 600;
    color: #2A72B0;
}
.contacts__route:hover{ color: #245F93; }
.contacts__route:focus-visible{ outline: 3px solid #9CC9EE; outline-offset: 2px; }

/* ----------------------------- адаптив ---------------------------------- */
/* Одна колонка с 900px, а не с 768: при двух колонках карта на 860px
   ужимается до 380px по ширине, и подписи улиц на превью не читаются. */
@media (max-width: 899px){
    .contacts__cols{ grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 767px){
    .contacts{ padding: 40px 0 0; }
    .contacts__container{ padding-bottom: 40px; }
    .contacts__phone{ font-size: 18px; }
    .contacts__address{ font-size: 15.5px; }
}
/* На узких экранах кнопки мессенджеров растягиваются в ряд по всей
   ширине: касание по кнопке в 14px шрифта иначе слишком мелкое. */
@media (max-width: 479px){
    .contacts__msg{ gap: 6px; }
    .contacts__msg-item{ flex: 1 1 calc(33.333% - 4px); }
    .contacts__msg-link{ justify-content: center; width: 100%; padding: 11px 8px; font-size: 13.5px; }
}
/* ====================== CONTACTS 2026 — конец ============================ */

/* =========================================================================
   FAQ 2026 — блок «Вопросы и ответы».
   Класс с цифрой намеренно: в теме уже заняты и .faq__container-accord-*
   (аккордеон внутренних страниц), и .faq-accordion (та самая секция,
   что лежала в SEO-тексте главной). Пересечение имён дало бы чужие
   отступы и рамки.
   Белый фон: отзывы выше — серые, цвет и разделяет их. Ниже белые
   контакты, поэтому граница снизу задана хайрлайном на контейнере.
   Для отката удалить всё до маркера «FAQ 2026 — конец».
   ========================================================================= */
.faq2026{
    padding: 56px 0 0;
    background: #FFFFFF;
}
/* Хайрлайна снизу нет: под блоком тёмная полоса CTA, она и разделяет.
   У .inside__container и .contacts__container он остался — там снизу белое. */
.faq2026__container{
    padding-bottom: 56px;
}
/* Глобальное h2{color:#0073aa} в теме перебивается явно, как в .inside__title. */
.faq2026__title{
    margin: 0 0 10px;
    font-family: inherit;
    font-size: clamp(24px, 1.9vw, 31px);
    line-height: 1.22;
    font-weight: 600;
    color: #1B2A3D;
    letter-spacing: -.01em;
    text-align: left;
    text-transform: none;
}
.faq2026__note{
    max-width: 760px;
    margin: 0 0 26px;
    font-size: 15.5px;
    line-height: 1.55;
    color: #4F5D73;
}
.faq2026__title:last-child{ margin-bottom: 30px; }

/* Ширину списка держим в разумных пределах: строка ответа в 1200px
   читается плохо, глазу негде зацепиться при переносе. */
.faq2026__list{
    max-width: 880px;
}
.faq2026__item{
    border-bottom: 1px solid #E4EAF1;
}
.faq2026__item:first-child{ border-top: 1px solid #E4EAF1; }

/* summary по умолчанию показывает треугольник-раскрывашку. Убираем его
   обоими способами: WebKit и Blink слушают ::-webkit-details-marker,
   Firefox — list-style у самого summary. */
.faq2026__q{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 2px;
    font-size: 17px;
    line-height: 1.45;
    font-weight: 600;
    color: #1B2A3D;
    cursor: pointer;
    list-style: none;
    transition: color .18s ease;
}
.faq2026__q::-webkit-details-marker{ display: none; }
.faq2026__q:hover{ color: #2A72B0; }
.faq2026__q:focus-visible{
    outline: 3px solid #9CC9EE;
    outline-offset: -2px;
}
.faq2026__mark{
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    margin-top: 1px;
    border-radius: 50%;
    background: #F5F8FB;
    color: #2A72B0;
    transition: background .18s ease, transform .18s ease;
}
.faq2026__q:hover .faq2026__mark{ background: #E9EFF6; }
.faq2026__item[open] .faq2026__mark{ transform: rotate(180deg); }

.faq2026__a{
    padding: 0 2px 20px;
    max-width: 760px;
}
/* Абзацы приходят из wpautop, поэтому правило на p, а не на сам контейнер. */
.faq2026__a p{
    margin: 0 0 12px;
    font-size: 16px;
    line-height: 1.6;
    color: #243447;
}
.faq2026__a p:last-child{ margin-bottom: 0; }

@media (max-width: 767px){
    .faq2026{ padding: 40px 0 0; }
    .faq2026__container{ padding-bottom: 40px; }
    .faq2026__q{ padding: 15px 2px; font-size: 16px; }
    .faq2026__a p{ font-size: 15.5px; }
    .faq2026__mark{ width: 26px; height: 26px; }
}
/* ========================= FAQ 2026 — конец ============================== */

/* =========================================================================
   CTA 2026 — блок «Форма-CTA №2».
   Единственная тёмная полоса на странице: блок должен останавливать взгляд
   после восьми вопросов FAQ, а не быть ещё одной белой секцией. Заодно
   отделяет FAQ сверху и контакты снизу без хайрлайнов.
   Поля формы приходят из Contact Form 7 и размечены классами Bootstrap
   (.form-control) — перекрашиваем их здесь, внутри блока, чтобы форма в
   первом экране и в модалках осталась прежней.
   Для отката удалить всё до маркера «CTA 2026 — конец».
   ========================================================================= */
.cta2026{
    padding: 52px 0;
    background: #1B2A3D;
}
.cta2026__container{
    display: grid;
    grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
    gap: 32px;
    align-items: center;
}
/* Глобальное h2{color:#0073aa} в теме перебивается явно, как в остальных
   блоках 2026; здесь ещё и цвет другой — фон тёмный. */
.cta2026__title{
    margin: 0 0 10px;
    font-family: inherit;
    font-size: clamp(23px, 1.8vw, 30px);
    line-height: 1.22;
    font-weight: 600;
    color: #FFFFFF;
    letter-spacing: -.01em;
    text-align: left;
    text-transform: none;
}
.cta2026__note{
    max-width: 520px;
    margin: 0;
    font-size: 16px;
    line-height: 1.55;
    color: #C7D6E6;
}
.cta2026__phone{
    display: inline-block;
    margin-top: 14px;
    font-size: 21px;
    line-height: 1.3;
    font-weight: 600;
    color: #FFFFFF;
    text-decoration: none;
}
.cta2026__phone:hover{ color: #9CC9EE; }
.cta2026__phone:focus-visible{ outline: 3px solid #9CC9EE; outline-offset: 3px; }

/* --------------------------- форма CF7 ---------------------------------- */
.cta2026__form .wpcf7{ margin: 0; }
.cta2026__form form{
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
}
/* CF7 кладёт оба поля и кнопку в один <p>, разделяя их <br />. Поэтому
   не «строки формы», а display:contents на этом <p> — его дети становятся
   элементами сетки напрямую. */
.cta2026__form form > p{ margin: 0; display: contents; }
/* <br> внутри формы тоже стали бы ячейками сетки и разорвали бы ряд.
   В теме есть глобальный скрипт, удаляющий все <br> на странице, но
   полагаться на него нельзя: до его выполнения раскладка уже отрисована,
   а при ошибке в скрипте останется сломанной навсегда. */
.cta2026__form form br{ display: none; }
/* Поля обёрнуты в span — как элементы сетки они блокируются, но ширину
   нужно задать явно, иначе input внутри останется своей ширины в 40 символов. */
.cta2026__form .wpcf7-form-control-wrap{ display: block; width: 100%; }
/* Спиннер CF7 вставляется рядом с кнопкой и тоже попал бы в отдельную ячейку. */
.cta2026__form .wpcf7-spinner{ grid-column: 1 / -1; justify-self: center; }
.cta2026__form .form-control{
    width: 100%;
    height: auto;
    padding: 13px 15px;
    border: 1px solid #35506E;
    border-radius: 10px;
    background: #22344B;
    font-size: 15.5px;
    line-height: 1.3;
    color: #FFFFFF;
    box-shadow: none;
    transition: border-color .18s ease, background .18s ease;
}
.cta2026__form .form-control::placeholder{ color: #8FA6C0; opacity: 1; }
.cta2026__form .form-control:hover{ border-color: #4A6C93; }
.cta2026__form .form-control:focus{
    border-color: #9CC9EE;
    background: #263B55;
    outline: 3px solid rgba(156, 201, 238, .45);
    outline-offset: 0;
}
.cta2026__form .wpcf7-submit{
    grid-column: 1 / -1;
    width: 100%;
    padding: 14px 20px;
    border: 0;
    border-radius: 10px;
    background: #2A72B0;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    color: #FFFFFF;
    cursor: pointer;
    transition: background .18s ease;
}
.cta2026__form .wpcf7-submit:hover{ background: #3079B8; }
.cta2026__form .wpcf7-submit:active{ background: #245F93; }
.cta2026__form .wpcf7-submit:focus-visible{ outline: 3px solid #9CC9EE; outline-offset: 2px; }

/* Сообщения CF7. По умолчанию они с рамкой в цвет, который на тёмном фоне
   не читается; текст ошибки поля тоже. */
.cta2026__form .wpcf7-response-output{
    grid-column: 1 / -1;
    margin: 4px 0 0;
    padding: 10px 14px;
    border-radius: 10px;
    border-width: 1px;
    font-size: 14.5px;
    line-height: 1.45;
    color: #FFFFFF;
}
.cta2026__form .wpcf7-not-valid-tip{
    margin-top: 5px;
    font-size: 13.5px;
    line-height: 1.35;
    color: #FFC9C2;
}

/* ----------------------------- адаптив ---------------------------------- */
@media (max-width: 899px){
    .cta2026__container{ grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .cta2026__note{ max-width: none; }
}
@media (max-width: 599px){
    .cta2026{ padding: 40px 0; }
    /* Поля в столбик: два коротких инпута рядом на 360px дают по 160px,
       в них не помещается ни placeholder, ни набранный телефон. */
    .cta2026__form form{ grid-template-columns: minmax(0, 1fr); }
    .cta2026__phone{ font-size: 19px; }
}
/* ========================= CTA 2026 — конец ============================== */

/* =========================================================================
   ARTICLES 2026 — блок «Полезные статьи». Замена старой .news.
   Белый фон: контакты выше белые, но отделены собственным хайрлайном
   на .contacts__container. Ниже SEO-текст, тоже белый, — граница снизу
   задана хайрлайном уже здесь.
   Карточка целиком является ссылкой, поэтому внутри неё нет ни одного
   блочного тега: <a> в потоке инлайновый, вложенные <div> и <p> сделали бы
   разметку невалидной. Отсюда span-ы с display:block — тот же приём,
   что в карточках специалистов.
   Для отката удалить всё до маркера «ARTICLES 2026 — конец».
   ========================================================================= */
.articles{
    padding: 56px 0 0;
    background: #FFFFFF;
}
.articles__container{
    padding-bottom: 56px;
    border-bottom: 1px solid #E9EFF6;
}
/* Глобальное h2{color:#0073aa} в теме перебивается явно, как в остальных блоках. */
.articles__title{
    margin: 0 0 10px;
    font-family: inherit;
    font-size: clamp(24px, 1.9vw, 31px);
    line-height: 1.22;
    font-weight: 600;
    color: #1B2A3D;
    letter-spacing: -.01em;
    text-align: left;
    text-transform: none;
}
.articles__note{
    max-width: 760px;
    margin: 0 0 26px;
    font-size: 15.5px;
    line-height: 1.55;
    color: #4F5D73;
}
.articles__title:last-child{ margin-bottom: 30px; }

.articles__grid{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.articles__item{
    margin: 0;
    padding: 0;
    color: inherit;           /* в теме есть глобальное li{color:#566ED0} */
    list-style: none;
}
/* Глобальное a{display:inline-block;width:fit-content} в теме — ширину и
   тип отображения задаём явно, иначе карточка сожмётся по содержимому. */
.articles__card{
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    border: 1px solid #E4EAF1;
    border-radius: 14px;
    background: #FFFFFF;
    overflow: hidden;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.articles__card:hover{
    transform: translateY(-2px);
    border-color: #B9D4EC;
    box-shadow: 0 8px 20px rgba(27, 42, 61, .12);
}
.articles__card:focus-visible{
    outline: 3px solid #9CC9EE;
    outline-offset: 2px;
}
.articles__thumb{
    display: block;
    aspect-ratio: 16 / 10;
    background: #E9EFF6;
    overflow: hidden;
}
.articles__img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.articles__body{
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: 6px;
    padding: 14px 16px 16px;
}
.articles__date{
    font-size: 13px;
    line-height: 1.3;
    color: #4F5D73;
}
.articles__name{
    display: block;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 600;
    color: #1B2A3D;
}
.articles__card:hover .articles__name{ color: #2A72B0; }

.articles__more{ margin-top: 26px; }
.articles__more-link{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 18px;
    border: 1px solid #B9D4EC;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    color: #2A72B0;
    text-decoration: none;
    transition: background .18s ease, border-color .18s ease;
}
.articles__more-link:hover{ background: #F5F8FB; border-color: #2A72B0; }
.articles__more-link:focus-visible{ outline: 3px solid #9CC9EE; outline-offset: 2px; }

/* ----------------------------- адаптив ---------------------------------- */
/* Две колонки с 1023px, а не три: заголовки статей длинные, и в трети
   ширины на планшете они уходят в пять-шесть строк, ломая высоту ряда. */
@media (max-width: 1023px){
    .articles__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px){
    .articles{ padding: 40px 0 0; }
    .articles__container{ padding-bottom: 40px; }
    .articles__name{ font-size: 15.5px; }
}
/* Одна колонка с 559px: при двух карточка уже 165px, а под картинкой
   ещё дата, заголовок и анонс — читать нечего. */
@media (max-width: 559px){
    .articles__grid{ grid-template-columns: minmax(0, 1fr); gap: 14px; }
    /* В столбик картинка на всю ширину экрана перетягивает на себя всё
       внимание — приземляем пропорцию. */
    .articles__thumb{ aspect-ratio: 16 / 9; }
}
/* ====================== ARTICLES 2026 — конец ============================ */

/* =========================================================================
   SEOTEXT 2026 — оформление блока SEO-текста под общую систему.
   Только стили: ни одного слова текста и ни одного тега в post_content
   не тронуто — переработка содержимого ждёт выгруз Search Console
   (открытый вопрос 20).
   Всё под .seotext2026: класс заведён специально для этого блока, потому
   что .content — слишком общее имя и правила утекли бы на другие шаблоны.
   Для отката удалить всё до маркера «SEOTEXT 2026 — конец».
   ========================================================================= */
.seotext2026{
    padding: 56px 0;
    background: #FFFFFF;
}
/* Ширина строки. На 1210px строка выходит около 160 знаков — глаз теряет
   начало следующей при переносе. 880px дают примерно 100.
   Колонка по центру, а не по левому краю: при выравнивании влево справа
   оставалось 330px пустоты и блок читался как оборванный. Теперь пустота
   симметрична, по 165px с каждой стороны. */
.seotext2026 .read-more-12{
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;
}
/* Глобальное h2{color:#0073aa} (style.css:13) перебивается явно —
   тот же приём, что в .inside__title и остальных блоках 2026. */
.seotext2026 h2{
    margin: 34px 0 12px;
    font-family: inherit;
    font-size: clamp(21px, 1.5vw, 26px);
    line-height: 1.25;
    font-weight: 600;
    color: #1B2A3D;
    letter-spacing: -.01em;
    text-align: left;
    text-transform: none;
}
/* Первый заголовок стоит вплотную к границе секции — верхний отступ ему
   не нужен, его даёт padding самой секции. */
.seotext2026 .read-more-12__visible > h2:first-child{ margin-top: 0; }
.seotext2026 h3{
    margin: 24px 0 10px;
    font-family: inherit;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 600;
    color: #1B2A3D;
    text-align: left;
    text-transform: none;
}
.seotext2026 p,
.seotext2026 li{
    font-size: 16px;
    line-height: 1.62;
    color: #243447;
}
.seotext2026 p{ margin: 0 0 14px; }
.seotext2026 ul,
.seotext2026 ol{ margin: 0 0 16px; padding-left: 22px; }
.seotext2026 li{ margin-bottom: 6px; color: #243447; }   /* глобальное li{color:#566ED0} */
.seotext2026 a{
    display: inline;      /* в теме глобальное a{display:inline-block;width:fit-content} */
    color: #2A72B0;
    text-decoration: underline;
}
.seotext2026 a:hover{ color: #245F93; }
/* Таблица шире 880px не влезет — даём ей прокрутку внутри себя, чтобы
   страница целиком не начала ездить вбок. */
.seotext2026 table{
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
    font-size: 15px;
}
.seotext2026 table td,
.seotext2026 table th{
    padding: 9px 12px;
    border: 1px solid #E4EAF1;
    vertical-align: top;
}
.seotext2026 img{ max-width: 100%; height: auto; border-radius: 14px; }

/* Кнопка «Показать ещё». Была таблеткой в 50px радиуса цвета #4396D9 —
   единственная такая на странице. Приводим к кнопкам 2026. */
.seotext2026 .read-more-12__button-wrap{
    margin-top: 22px;
    text-align: left;      /* было по центру; у остальных блоков всё по левому краю */
}
.seotext2026 .read-more-12__btn{
    /* Кнопка — это <label>, а в теме есть глобальное label{width:100%}
       (style.css:533). Сам .read-more-12__btn ширину не объявляет, поэтому
       без width:auto кнопка растягивается на всю колонку. */
    width: auto;
    min-width: 0;
    padding: 11px 18px;
    border: 1px solid #B9D4EC;
    border-radius: 10px;
    background: transparent;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    color: #2A72B0 !important;   /* в теме цвет задан через !important */
    transition: background .18s ease, border-color .18s ease;
}
.seotext2026 .read-more-12__btn:hover{ background: #F5F8FB; border-color: #2A72B0; }
/* Чекбокс скрыт визуально, но фокус на нём отрисовать надо — иначе с
   клавиатуры не видно, где ты находишься. */
.seotext2026 .read-more-12__toggle:focus-visible + * .read-more-12__btn,
.seotext2026 .read-more-12__btn:focus-within{
    outline: 3px solid #9CC9EE;
    outline-offset: 2px;
}

@media (max-width: 767px){
    .seotext2026{ padding: 40px 0; }
    .seotext2026 h2{ font-size: 20px; margin-top: 28px; }
    .seotext2026 h3{ font-size: 17px; }
    .seotext2026 p,
    .seotext2026 li{ font-size: 15.5px; }
    .seotext2026 .read-more-12__btn{ width: auto; }   /* в теме на мобильном width:100% */
}
/* ====================== SEOTEXT 2026 — конец ============================= */

/* =========================================================================
   FOOTER 2026 — точечные правки подвала 26.08.2026.
   Полной переработки оформления здесь нет: это этап 1, приведение подвала
   к системе 2026 идёт отдельно. Правится только то, что добавлено или
   сломано: e-mail, третья иконка мессенджера, заголовки колонок.
   Для отката удалить всё до маркера «FOOTER 2026 — конец».
   ========================================================================= */
.footer__mail{ margin: 6px 0 10px; }
/* Глобальное a{display:inline-block;width:fit-content} тут как раз кстати,
   но цвет и подчёркивание задаём явно — в подвале своя палитра. */
.footer__mail-link{
    font-size: 16px;
    line-height: 1.4;
    color: #FFFFFF;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, .35);
}
.footer__mail-link:hover{ color: #9CC9EE; border-bottom-color: #9CC9EE; }
.footer__mail-link:focus-visible{ outline: 3px solid #9CC9EE; outline-offset: 2px; }

/* Заголовки колонок стали настоящими ссылками (раньше три из четырёх вели
   на «#» и прыгали наверх). Подчёркивание на них не нужно — они и так
   выделены цветом и весом, но состояние hover должно быть. */
.footer__menu .menu > li > a:hover{ color: #FFFFFF; }
.footer__menu .menu > li > a:focus-visible,
.footer__menu .menu li li a:focus-visible{
    outline: 3px solid #9CC9EE;
    outline-offset: 2px;
}
/* «УСЛУГИ» выводилось капсом, остальные заголовки — нет. Регистр теперь
   задаётся стилем, а не тем, как пункт назвали в админке. */
.footer__menu .menu > li > a{ text-transform: none; }

/* ------------------------- плотность подвала ---------------------------- */
/* Воздуха было слишком много: у footer padding-bottom 65px, у .footer__info
   зазор 15px между семью элементами, у колонок меню margin-bottom 30px при
   единственном ряду. Плюс левая колонка выше меню — после кнопки «Вызов
   врача на дом» она заканчивалась на 150px ниже последней ссылки. */
footer{ padding: 28px 0 30px; }
.footer__wrapper{ gap: 44px; }
.footer__info{ gap: 10px; }
/* Единственный ряд колонок — нижний отступ ему не нужен. */
.footer__menu .menu > .menu-item{ margin-bottom: 0; }

/* Иконки мессенджеров. В блоке HEADER 2026 у .header__social стоит
   margin-left:auto — в шапке это прижимает их к правому краю строки, а в
   подвале, где .footer__info выстроен колонкой, отодвигало их от логотипа
   на всю ширину блока. */
.footer__info .header__social{
    margin-left: 0;
    gap: 6px;
}
/* Значок «24/7» шёл в 50px и задавал высоту всей строке. */
.footer__info .footer__address svg{ width: 30px; height: 30px; }

@media screen and (max-width: 1023px){
    /* В шапке мессенджеры на мобильном намеренно скрыты (HEADER 2026),
       но правило по классу гасило их и в подвале — а там они нужны. */
    .footer__info .header__social{ display: flex; }
}
@media screen and (max-width: 767px){
    footer{ padding: 24px 0 24px; }
    .footer__wrapper{ gap: 28px; }
}

/* ------------------- поджимаем остаток пустоты --------------------------- */
/* Пустота справа снизу — это разница высот: левая колонка с контактами
   выше четырёх колонок меню. Заказчик выбрал не заполнять её содержимым,
   а сократить. Убираем то, что даёт высоту, не трогая состав подвала. */

/* 40px между блоком и копирайтом — самый заметный кусок пустоты. */
.footer__copyright{ margin-top: 22px; }

/* Телефоны шли в 20px с межстрочным по умолчанию: два номера занимали
   больше 60px. Ниже левая колонка — меньше разница высот. */
.footer__info .footer__num{
    font-size: 18px;
    line-height: 1.35;
}
.footer__info{ gap: 8px; }

/* Пункты меню, наоборот, чуть свободнее: колонки станут выше и подтянутся
   к высоте контактов, а читаться будут легче. Разница гасится с двух сторон. */
.footer__menu .menu > .menu-item .menu-item a{ padding: 5px 0; }

@media screen and (max-width: 767px){
    /* На мобильном колонки идут одна под другой, разницы высот нет —
       возвращаем компактность. */
    .footer__copyright{ margin-top: 18px; }
    .footer__menu .menu > .menu-item .menu-item a{ padding: 3px 0; }
}

/* --------------------- строка копирайта и дисклеймер --------------------- */
/* Была крупнее ссылок меню: копирайт лежит в <p>, а в теме глобальное
   p{font-size:18px;line-height:27px} (style.css:1135). Служебная строка
   не должна конкурировать с навигацией — уводим на второй план.
   Отступы вокруг разделителей складывались из трёх слагаемых: padding 10 +
   margin 10 + gap 15 у флекса. Оставляем одну механику. */
.footer__copyright{
    gap: 0;
    margin-top: 26px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .14);
    font-size: 14px;
    line-height: 1.5;
    color: rgba(255, 255, 255, .72);
}
.footer__copyright p{
    font-size: 14px;
    line-height: 1.5;
    padding-right: 14px;
    margin-right: 14px;
    border-right-color: rgba(255, 255, 255, .28);
}
/* Ссылки к правому краю: строка занимает всю ширину, а не обрывается
   на середине — та же претензия, из-за которой поджимали подвал. */
.footer__copyright ul{ margin-left: auto; }
.footer__copyright ul li:not(:last-of-type){
    padding-right: 14px;
    margin-right: 14px;
    border-right-color: rgba(255, 255, 255, .28);
}
.footer__copyright ul li a{
    font-size: 14px;
    color: rgba(255, 255, 255, .72);
}
.footer__copyright ul li:hover a{ color: #FFFFFF; }
.footer__copyright ul li a:focus-visible{
    outline: 3px solid #9CC9EE;
    outline-offset: 2px;
}
.footer__disclaimer{
    max-width: 780px;
    margin: 12px 0 0;
    font-size: 13px;
    line-height: 1.5;
    color: rgba(255, 255, 255, .55);
}

@media screen and (max-width: 767px){
    /* На узком экране прижимать ссылки вправо нечем — строка переносится,
       и margin-left:auto оставил бы их висеть у края отдельной строкой. */
    .footer__copyright{ gap: 10px; margin-top: 20px; padding-top: 14px; }
    .footer__copyright ul{ margin-left: 0; }
    .footer__copyright p{ padding-right: 0; margin-right: 0; border-right: 0; }
    .footer__disclaimer{ font-size: 12.5px; }
}
/* ======================== FOOTER 2026 — конец ============================ */

/* =========================================================================
   CASES 2026 — компактная сетка (переработка 26.08.2026).
   Блок «С чем к нам обращаются» превращён в «Основные направления помощи»:
   одна карточка — одно направление и одна страница. Прежние правила
   .cases__card-note / .cases__links выше по файлу перестают на что-либо
   попадать, потому что этих элементов больше нет в разметке; удалять их
   не стал — они нужны, если блок понадобится вернуть.
   Для отката: удалить этот блок целиком.
   ========================================================================= */

/* -------------------------------- сетка --------------------------------- */
/* Прежние правила раскладки строились на 6 колонках и :nth-child, чтобы
   центрировать нижний ряд из двух карточек. Здесь ряды полные, поэтому
   сетка обычная: 3 колонки на десктопе, 2 на телефоне.
   Те правила остаются в файле, но не срабатывают: грид-элементом теперь
   является .cases__item, а не .cases__card. */
.cases__grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
    align-items: stretch;
}
.cases__item{
    margin: 0;
    /* Кастомайзер задаёт li { list-style: disc } и li { color: #566ED0 }
       прямо на li, поэтому наследованием от ul это не снимается —
       тот же случай, что в .inside__item и .reviews__item. */
    list-style: none;
    color: inherit;
}

/* ------------------------------ карточка -------------------------------- */
/* Карточка целиком — ссылка. width: 100% обязателен: в теме есть глобальное
   a { display: inline-block; width: fit-content }, из-за которого карточка
   сжималась бы по содержимому. flex-direction перебивает column из
   прежнего блока .cases__card. */
.cases__card{
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    width: 100%;
    height: 100%;
    min-height: 74px;
    padding: 15px 16px;
    text-decoration: none;
}
.cases__card:hover{ text-decoration: none; }
.cases__card:focus-visible{
    outline: 3px solid #9CC9EE;
    outline-offset: 2px;
}

/* Иконка: прежний размер и плашка сохранены, снят только нижний отступ —
   в строке она стоит слева от заголовка, а не над ним. */
.cases__icon-wrap{
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    margin-bottom: 0;
    border-radius: 10px;
}

.cases__card-title{
    flex: 1 1 auto;
    margin: 0;
    font-size: 15.5px;
    line-height: 1.28;
    font-weight: 600;
    color: #1B2A3D;
    text-align: left;
    text-transform: none;
}

/* Стрелка — та же логика, что была у .cases__link-arrow: в покое спокойный
   серо-синий, на hover фирменный, без сдвига. */
.cases__card-arrow{
    flex: 0 0 auto;
    color: #9AA7B4;
    transition: color .15s ease;
}
.cases__card:hover .cases__card-arrow{ color: #2A72B0; }
@media (prefers-reduced-motion: reduce){
    .cases__card-arrow{ transition: none; }
}

/* ------------------------------- 1024–1279 ------------------------------ */
@media screen and (max-width: 1279px){
    .cases__grid{ gap: 12px; }
    .cases__card{ min-height: 70px; padding: 14px 14px; gap: 12px; }
    .cases__card-title{ font-size: 15px; }
}

/* --------------------- планшет: 3 в ряд, но вертикально ----------------- */
/* Ниже 1024 карточка в три колонки становится уже 312px, а на 768 — 232px.
   Строка «иконка + заголовок + стрелка» в такую ширину не укладывается:
   «Кодирование от алкоголизма» рвётся на три строки и карточка растёт.
   Поэтому с этой ширины плитка вертикальная, а стрелка убирается —
   ссылкой служит вся плитка целиком. */
@media screen and (max-width: 1023px){
    .cases__grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
    .cases__card{
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        min-height: 104px;
        padding: 15px 14px;
    }
    .cases__card-arrow{ display: none; }
}

/* --------------------- узкий планшет и телефон: 2 в ряд ----------------- */
@media screen and (max-width: 767px){
    .cases__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ------------------------------- телефон -------------------------------- */
@media screen and (max-width: 599px){
    .cases__grid{ gap: 10px; }
    .cases__card{ min-height: 100px; padding: 14px 12px; }
    .cases__icon-wrap{ width: 36px; height: 36px; }
    .cases__card-title{ font-size: 14px; line-height: 1.3; }
}
/* ================= CASES 2026 — конец компактной сетки =================== */

/* =========================================================================
   WHY 2026 — компактные карточки (переработка 26.08.2026).
   Было шесть текстовых фактов без рамок в три колонки, стало четыре
   карточки в ряд. Прежние правила блока выше по файлу остаются: часть
   из них (.why__title, .why__icon-wrap, .why__item-note) продолжает
   работать, остальное перебивается здесь.
   Для отката: удалить этот блок целиком.
   ========================================================================= */

/* -------------------------------- сетка --------------------------------- */
.why__grid{
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
    align-items: stretch;
}

/* ------------------------------ карточка -------------------------------- */
/* Фон секции белый, поэтому карточку отделяет рамка, а не заливка —
   иначе на белом она не читается как объект. */
.why__item{
    /* Кастомайзер задаёт li { list-style: disc } и li { color: #566ED0 }
       прямо на li: наследованием от ul это не снимается. Тот же случай,
       что в .cases__item, .inside__item и .reviews__item. */
    list-style: none;
    color: inherit;
    margin: 0;

    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    height: 100%;
    padding: 18px 16px;
    background: #FFFFFF;
    border: 1px solid #E4EAF1;
    border-radius: 14px;
    box-shadow: 0 1px 2px rgba(16,31,48,.04);
}

.why__icon-wrap{ width: 40px; height: 40px; }

/* padding-top: 8px в прежнем блоке выравнивал заголовок по центру иконки,
   стоявшей слева. В карточке иконка сверху, отступ больше не нужен. */
.why__item-title{
    padding-top: 0;
    margin: 0 0 5px;
    font-size: 15.5px;
    line-height: 1.3;
}
.why__item-note{ font-size: 13.5px; line-height: 1.5; }

/* ------------------------------- 1024–1279 ------------------------------ */
@media screen and (max-width: 1279px){
    .why__grid{ gap: 12px; }
    .why__item{ padding: 16px 14px; }
    .why__item-title{ font-size: 15px; }
    .why__item-note{ font-size: 13px; }
}

/* --------------------------- планшет: 2 в ряд --------------------------- */
@media screen and (max-width: 1023px){
    .why__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}

/* ------------------------------- телефон -------------------------------- */
/* Одна колонка, а не две: пояснения здесь — целые предложения, и в 160px
   на 360-м экране они рассыпаются в десяток строк. */
@media screen and (max-width: 599px){
    .why__grid{ grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .why__item{ padding: 16px 14px; }
    .why__item-title{ font-size: 15.5px; }
    .why__item-note{ font-size: 14px; }
}
/* ================ WHY 2026 — конец компактных карточек =================== */
