:root{
    --main-color: #d1b11e;
    --brown: #414141;
    --gray: #575757
}
/*!
 * Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2024 Fonticons, Inc.
 */
@font-face {
    font-family: 'Font Awesome 5 Brands';
    font-display: block;
    font-weight: 400;
    src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }

@font-face {
    font-family: 'Font Awesome 5 Free';
    font-display: block;
    font-weight: 900;
    src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }

@font-face {
    font-family: 'Font Awesome 5 Free';
    font-display: block;
    font-weight: 400;
    src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }
header.site-header{
    background: var(--brown)!important
}
.main-navigation li a{
    color: #ffffff!important
}
body{
    background: var(--brown)!important
}
.elementor-section-wrap >section{
    margin: 80px 0
}
.elementor-section-wrap >section:first-child{
    margin-top: 0
}
.site-branding, .logo-mob{
    font-size: 20px;
    font-weight: 600
}
.top-header{
    background: #ffffff;
    padding: 10px 0
}
.top-header .contact-wrap{
    display: flex;
    justify-content: center;
    gap: 30px
}
.top-header .contact-wrap .tel-wrap{
    display: flex;
    gap: 30px
}
.top-header a{
    color: #4c4f57;
    font-size: 20px;
    /*text-decoration: underline;*/
    text-underline-offset: 2px;
    font-weight: 600;
    margin-top: -3px;
    display: inline-block;
    /*text-transform: uppercase;*/
    text-align: center;
    padding: 0 10%
}
.address img{
    height: 16px;
    margin-right: 3px
}
.top-header .contact-wrap .tel-wrap .elementor-button-icon{
    margin-right: 3px
}
.main-navigation ul#main-menu ul.sub-menu{
    padding-right: 20px;
    border-radius: 8px;
    background-color: var(--brown)!important
}
.main-navigation ul#main-menu ul.sub-menu li{
    padding: 0
}
.main-navigation ul#main-menu ul.sub-menu li:not(:last-child){
    margin-bottom: 10px!important
}
.main-navigation ul#main-menu ul.sub-menu li a{
    color: #ffffff!important;
    /*width: fit-content!important;*/
    font-size: 12px!important;
    padding-left: 18px !important;
    position: relative;
    word-break: auto-phrase!important;
    width: fit-content;
    min-width: 198px;
    text-wrap: balance;
    overflow-wrap: break-word
}
.main-navigation ul#main-menu ul.sub-menu li a:before{
    content: '➤';
    position: absolute;
    left: 0;
    color: var(--main-color);

}
.main-navigation ul#main-menu ul.sub-menu li:hover a{
    color: var(--main-color)
}
.main-navigation ul#main-menu >li:first-child >a{
    pointer-events: none
}
.d-block{
    display: block!important
}
.b-r-20{
    border-radius: 20px!important
}
@media all and (max-width: 991px){
    .main-navigation ul#main-menu ul.sub-menu{
        display: none;
        position: absolute!important;
        top: 100%;
        left: 0;
        padding: 10px
    }

    .main-navigation ul#main-menu >li{
        position: relative
    }

    .main-navigation ul#main-menu li.menu-item-has-children{
        position: relative;
        padding-right: 35px !important
    }
    .main-navigation ul#main-menu li.menu-item-has-children:before {
        position: absolute;
        top: 14px;
        right: 15px;
        display: inline-block;
        font: normal normal normal 14px / 1 FontAwesome;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        content: '\f107';
        font-size: 16px;
        font-weight: 900
    }
}
.main-block{
    padding: 100px 0.9375rem 160px!important;
    position: relative;
}
/*.main-block__content{*/
/*    background: #10101080*/
/*}*/
.main-block:after{
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: var(--brown)85
}
.main-block h1{
    font-size: 36px!important;
    margin-top: 0!important;
    text-wrap: balance
}
.main-block p{
    color: #ffffff!important;
    font-size: 28px!important;
    line-height: normal
}
.main-block__content{
    z-index: 1;
    position: relative;
    width: 70%!important
}
.elementor-divider-separator{
    display: block;
    border-top-style: solid;
    border-top-width: 3px;
    border-top-color: #ffce23;
    width: 42px
}
h1 span{
    color: #ffce23
}
.mt-50{
    margin-top: 50px
}
@media all and (max-width: 768px){
    .mt-50{
        margin-top: 30px
    }
}
.main-navigation a{
    font-weight: 500
}
section.special-offers{
    padding: 76px 0 26px!important
}
section.about .elementor-image-box-title{
    color: #1d2741
}
section.services .elementor-image-box-wrapper{
    display: flex;
    align-items: flex-start
}
section.services .elementor-image-box-description{
    display: none
}
section.services .elementor-image-box-wrapper figure img{
    min-width: 100px;
    width: 100px
}
section.services figure{
    width: fit-content
}
.about .elementor-row, .grid-2{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px
}
.grid-2-1, .about .elementor-row.grid-2-1{
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 50px
}
.about .elementor-row .elementor-top-column:last-child{
    width: 100%
}
.about .elementor-row .elementor-top-column img{
    border-radius: 20px;
    width: 100%
}

.elementor-button-text {
    font-size: 16px
}
/*.services .elementor-image-box-title{*/
/*    font-size: 16px;*/
/*    font-weight: 400!important*/
/*}*/
.advantages ul{
    margin-left: 0
}
.advantages ul li{
    list-style-type: none
}
.advantages__items >div{
    width: 100%!important;
    max-width: 100% !important
}

.contact .elementor-element.elementor-element-50521c6f > .elementor-element-populated{
    padding-left: 30px;
    padding-bottom: 0
}
.advantages p:last-child{
    margin-bottom: 0!important
}
section.services .elementor-image-box-title {
    font-weight: 400 !important
}
section.services figure.elementor-image-box-img {
    width: fit-content!important
}
section.advantages .elementor-icon-list-text {
    font-size: 16px
}
.contact .form {
    margin-top: 33px
}
.site-branding img {
    width: 150px!important
}
.site-header__wrap{
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: transparent!important;
    height: 90px;
    display: flex;
    justify-content: center
}

.main-navigation .menu>li:last-child {
    padding-right: 0
}
iframe {
    width: 100%;
    height: 500px
}
h2, p, h4, .elementor-image-box-title, .elementor-icon-list-text, input::placeholder,
textarea::placeholder, footer .footer-copyright, .main-navigation a, .breadcrumbs_item *,
.price-page table th, .price-page table td, .contact-page .tels .tel-btn .elementor-button-text, .main-block h1,
article .entry-title a, .single-post .entry-title, .email, .site-footer a, h1{
    color: #ffffff!important
}
.breadcrumbs_item{
    font-size: 14px!important
}
.email{
    font-size: 20px;
    display: inline-block;
    margin: 16px 0;
    text-decoration: underline
}
.map-link{
    color: #ffffff;
    font-size: 20px;
    text-decoration: underline;
    font-weight: 500;
    display: inline-block;
    margin-bottom: 25px
}
.map-link img{
    width: 30px;
    margin: 0 6px -2px 0
}
p, input, textarea, input::placeholder,
textarea::placeholder, section ul li, section ol li{
    font-size: 16px!important;
    line-height: 1.4!important
}
footer .space-between-content {
    padding-top: 0!important;
    padding-bottom: 0!important
}
.elementor-8 .elementor-element.elementor-element-61b86f5e > .elementor-container {
    max-width: 1190px
}
.footer-copyright {
    width: 100%;
    text-align: center
}
.elementor-icon-list-icon i {
    color: #ffce23;
    font-size: 16px
}
section.services .elementor-image-box-title {
    padding-left: 10px
}
.tel-wrap-main >div {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 20px
}
.viber, .tg {
    display: flex
}
.viber img, .tg img{
    width: 30px
}
.main-block .elementor-button {
    background: none!important;
    padding: 0!important
}
.main-block i{
    color: #ffce23;
    font-size: 22px
}
.elementor-button-text {
    color: #ffffff;
    font-size: 20px
}
h2{
    margin-top: 0!important
}
.elementor-widget-divider{
    margin-bottom: 25px!important
}
.control-room .tel-btn {
    background: #ffce23
}
.control-room .tel-btn i, .control-room .tel-btn .elementor-button-text {
    color: var(--brown);
    font-size: 16px
}
.email img{
    width: 25px;
    margin: 0 6px -4px 0
}
.site-breadcrumbs {
    margin-top: 0!important
}
.contact-page .elementor-section-wrap section:first-child h2 {
    margin-top: 0
}
.tel-btn:not(.control-room .tel-btn) {
    background-color: transparent!important;
    padding: 0!important
}
.contact-page section.contact {
    margin-top: 50px
}
.useful-page .images-wrap{
    display: flex;
    flex-direction: column;
    gap: 30px
}
.useful-page .images-wrap img{
    width: 100%
}
.price-page table {
    min-width: 400px;
    width: 100%
}
.price-page table img {
    width: 100px
}
.price-page table th, .price-page table td {
    padding: 10px 20px;
    text-align: center
}
.price-page table .product div{
    text-align: left
}
.price-page .products-list table td.product {
    display: flex;
    align-items: center;
    gap: 20px
}
.price-page table + p {
    margin-top: 15px
}
.container, .elementor-section-wrap >section >.elementor-container {
    max-width: 1200px !important;
    width: 1200px !important;
    margin: auto
}
.elementor-8 .elementor-element.elementor-element-26cdb0bf > .elementor-widget-container,
.elementor-8 .elementor-element.elementor-element-5d015e0 > .elementor-widget-container{
    padding: 0;
}
.home section.contact .elementor-row{
    display: flex
}
.about .elementor-element-24d89040{
    display: flex;
    /*align-items: center*/
}
.main-navigation li:last-child a{
    padding-right: 0
}
.bazz-widget {
    bottom: 20px!important;
    left: 20px!important;
    background: #3b3d42!important;
    display: block!important
}
.bazz-widget-form >div:first-child{
    font-size: 16px;
    text-align: left;
    width: 90%
}
.wpcf7-form input, .wpcf7-form textarea{
    margin-top: 5px;
    background: transparent!important
}

.services__heading h4{
    margin-bottom: 25px;
    font-weight: 600
}
.special-offers .elementor-divider {
    display: flex;
    justify-content: center
}
.special-offers h2{
    text-align: center
}
.grid-3{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 25px
}
.grid-4{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 25px
}
.advantages__items .elementor-row >div{
    width: 100% !important
}
.control-room .tel-btn{
    padding: 10px 30px 9px 30px
}
.bazz-widget {
    border-radius: 8px;
    background: transparent!important
}
.bazz-widget input{
    opacity: 0
}
.bazz-widget.opened input{
    opacity: 1
}
.bazz-widget.opened{
    background-color: rgba(0, 0, 0, 0.75)
}

.bazz-widget i{
    transform: translate(0px) !important
}
.bazz-widget i span{
    display: none !important
}
.wpcf7-form-control.wpcf7-submit{
    color: var(--brown)!important;
    background-color: #ffce23 !important;
    font-family: 'Roboto', sans-serif
}
footer.site-footer{
    padding: 30px 0;
    border: 1px solid #ebeced
}
#bazz-widget-phone, .bazz-widget-form-submit{
    font-size: 16px!important;
    padding: 0!important;
    width: fit-content!important;
    height: 35.4px!important;
    margin-right: 10px!important
}
#bazz-widget-phone{
    border: none!important;
    border-bottom: 1px solid #ebeced!important;
    padding: 0 20px!important;
    background: var(--brown)!important;
    border-radius: 8px 0 0 0!important
}
.bazz-widget-close{
    left: auto!important;
    right: -10px!important
}
.bazz-widget-form-submit{
    border: none!important;
    margin-left: -10px!important;
    margin-bottom: -1px!important;
    border-radius: 0 8px 8px 0!important;
    padding: 0 20px!important;
    display: flex!important;
    align-items: center!important;
    height: 37px!important
}
#bazz-widget-phone::placeholder{
    color: #ebeced!important
}
.bazz-widget label{
    display: none!important
}
.breadcrumbs{
    padding-bottom: 0!important
}
.map .elementor-widget-divider{
    margin-bottom: 41px
}
.map h2{
    text-align: left
}
.elementor-8 .elementor-element.elementor-element-7013a043,
.elementor-8 .elementor-element.elementor-element-1f3dc5d{
    margin-top: 0!important
}
.contact-page .control-room .tel-btn{
    border-radius: 8px
}
.price-page .note{
    font-size: 16px!important
}
.services__items section{
    background: #ffffff;
    padding: 20px;
    border-radius: 20px
}

.services__items section .elementor-image-box-title, .services__items section i{
    color: #1a1818!important
}
/*.services__items, .advantages__items{*/
/*    background: #0d0d0d78;*/
/*    padding: 50px;*/
/*    margin-top: 50px*/
/*}*/
.services__items h4{
    margin-top: 0
}
.advantages h2, .advantages p, .advantages__items .elementor-icon-list-text{
    color: #ffffff!important

}
.advantages, .bg-gray{
    background-color: var(--gray);
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: cover;
}
.advantages{
    padding: 50px 0!important;
    /*background-image: url('https://ld-wp.template-help.com/wordpress_free/23140/wp-content/uploads/2019/03/home-bg-1-1.png');*/
}
.advantages .elementor-divider-separator{
    border-top-color: #ffffff!important
}
.gallery img, .special-offers img, iframe{
    border-radius: 20px!important;
    width: 100%
}
.site-header__wrap .space-between-content{
    width: 100%
}
/*.blog aside{*/
/*    display: none*/
/*}*/
.blog article .entry-title + .entry-meta, .blog article .comments-button{
    display: none
}
.blog .posts-list{
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px
}
/*.blog #primary{*/
/*    max-width: 100%;*/
/*    flex: 100%*/
/*}*/
#secondary .widget:not(#block-2, #block-3), .entry-meta >*:not(.posted-on){
    display: none
}
.entry-meta *{
    color: #ffffff!important
}
.post-thumbnail img{
    border-radius: 20px
}
.single-post .entry-header .entry-meta{
    display: none
}
.single-post .entry-header h1{
    margin-bottom: 0
}
.single-post aside{
    display: none
}
.single-post #primary{
    max-width: 100%;
    flex: 100%;
}
.single-post #primary figure img{
    width: 100%;
    border-radius: 20px
}
.single-post #primary figure:not(:first-child){
    margin-top: 30px
}
.single-post #primary figure:not(:last-child){
    margin-bottom: 30px
}
.single-post #post-22 .post-thumbnail, .single-post .post-author-bio, .single-post #comments{
    display: none;
}

.contact .elementor-row >div:first-child{
    overflow: hidden
}
iframe {
    min-width: 100%;
    min-height: 100%
}
.site-footer .space-between-content{
    justify-content: center
}
.wpcf7 form.sent .wpcf7-response-output{
    border: none!important;
    color: var(--main-color)!important
}
.site-footer p{
    margin-bottom: 0
}
.post-default+.post-default{
    margin-top: auto!important;
    padding-top: 0!important;
    border-top: none!important;
}
.single-post article a, .single-post .post-navigation .nav-text, .single-post .post-navigation i,
.privacy-policy a{
    color: var(--main-color)!important
}
.single-post article a:hover, .privacy-policy a:hover{
    text-decoration: underline;
    text-decoration-thickness: from-font
}
.single-post .post-navigation i{
    top: 37px!important
}
.single-post article h1, .privacy-policy h1, .search h1{
    font-weight: 600;
    text-align: left
}
h2{
    font-size: 30px!important;
    font-weight: 600!important
}
.post-thumbnail img {
    height: 230.4px;
    object-fit: cover
}
.single-post .post-thumbnail img{
    display: none
}
.single-post ul li{
    color: #ffffff
}
.site-footer a{
    color: #ffffff!important
}
.wp-block-latest-posts__post-title{
    display: block;
    color: #ffffff!important;
    margin-bottom: 10px!important
}
.wp-block-latest-posts__post-title:hover{
    color: #DCAF0D!important
}
.wp-block-search__label{
    display: block;
    margin-bottom: 6px
}
.sale-text{
    display: flex;
    justify-content: center;
    align-items: center
}
.sale-text p{
    font-size: 32px !important;
    text-align: center;
    font-weight: 800;
    padding: 0 5%
}
.service-page ul{
    margin: 0
}
.service-page ul li{
    list-style: none;
    padding-left: 30px;
    position: relative;
    color: #ffffff;
    margin-bottom: 10px;
    font-family: 'Roboto', sans-serif
}
.service-page ul li:last-child{
    margin-bottom: 0
}
.service-page .fa-check:before{
    display: none
}
.service-page .fa-check ul li:before{
    content: "\f00c";
    position: absolute;
    top: 0;
    left: 0;
    font-family: 'FontAwesome';
}
.main-navigation li:hover:before,
.main-navigation ul#main-menu ul.sub-menu li:hover a
{
    color: var(--main-color)!important
}

@media all and (min-width: 1201px) {
    .elementor-section-wrap >section:not(.advantages, .main-block, .bg-gray, section.service-section){
        padding: 0!important
    }
}
@media all and (min-width: 992px) {
    .main-navigation ul#main-menu ul.sub-menu li a{
        padding-left: 33px!important
    }
    .main-navigation ul#main-menu ul.sub-menu li a:before{
        left: 15px
    }
    #main-menu li:hover >a{
        color: var(--main-color) !important
    }
    .main-navigation li.menu-item-has-children:before{
        color: #ffffff;
        top: 5px!important;
        right: 8px!important;
        transition: 0.3s
    }
    .main-navigation li.menu-item-has-children:hover:before{
        color: var(--main-color);
        top: 4px!important;
        transform: rotate(180deg);
        transition: 0.3s
    }
    .main-navigation .current_page_item>a,
    .main-navigation .current_page_item:before
    {
        color: var(--main-color) !important
    }
    .main-navigation.mobile-menu .menu li, #main-menu li {
        margin: 0!important
    }
    .contact .elementor-element-populated,
    .contact .elementor-widget-wrap,
    .elementor-widget-google_maps,
    .elementor-widget-container,
    .elementor-custom-embed,
    .elementor-8 .elementor-element.elementor-element-bbd4058 iframe {
        height: 100%
    }
    /*.main-navigation a {*/
    /*    color: #ffffff!important*/
    /*}*/
    .elementor-8 .elementor-element.elementor-element-198b81d7 > .elementor-widget-container {
        padding-left: 0;
        padding-right: 0
    }
    .services__heading {
        margin-top: 50px
    }
    .main-navigation .current_page_item>a
    {
        color: var(--main-color)!important
    }
    .bazz-widget-close{
        top: 0!important
    }
    .main-navigation li a{
        padding-bottom: 2px!important
    }
    .display-mob{
        display: none
    }

}
@media all and (min-width: 640px) and (max-width: 991px){
    .main-navigation ul#main-menu >li a{
        color: #ffffff!important
    }
    .main-navigation ul#main-menu li.menu-item-has-children:before{
        top: 6px;
        right: 15px;
        color: #ffffff
    }
    .main-navigation #main-menu >li.rotate:before{
        transition: 0.3s
    }
    .main-navigation #main-menu >li.rotate:before{
        transform: rotate(180deg);
        transition: 0.3s
    }
    .main-navigation ul#main-menu ul.sub-menu{
        margin-left: -7px
    }
}
@media  all and (max-width: 1200px) {
    .elementor-section-wrap >section:not(.advantages, .main-block, .bg-gray, section.service-section){
        padding: 0 15px!important
    }
    .site-header__wrap.container{
        padding-right: 15px
    }
    .main-block__content, .main-block__content p{
        width: 70% !important
    }
    .elementor-section-wrap >section {
        padding-left: 15px!important;
        padding-right: 15px!important
    }
    .container, .elementor-section-wrap >section >.elementor-container {
        max-width: 100% !important
    }
    .site-breadcrumbs {
        padding: 0 15px
    }
}

@media  all and (max-width: 991px) {
    .blog .site-content__wrap >.row{
        flex-direction: column-reverse;
        gap: 60px
    }
    #block-3{
        display: none
    }
    #secondary {
        margin-top: 0!important
    }
    .main-navigation li a {
        color: #1a1818!important
    }
    .main-navigation .menu>li:last-child{
        margin-right: 5px
    }
    .useful-page .images-wrap{
        gap: 15px
    }
    .site-breadcrumbs {
        padding: 0
    }
    .contact-page .elementor-section-wrap >section {
        padding-left: 0!important;
        padding-right: 0!important;
    }
    .site-header__wrap {
        margin-left: 0!important;
        margin-right: 0!important
    }
    .top-header a{
        text-decoration: underline!important
    }
    .main-block__content{
        width: 100%!important
    }
    .main-block__content p{
        width: 100%!important
    }
    .main-block{
        padding-top: 80px!important;
        padding-bottom: 80px!important
    }

    .main-block p{
        font-size: 24px!important;
        margin-bottom: 30px
    }
    .top-header .contact-wrap{
        flex-direction: column;
        align-items: center;
        gap: 5px
    }
    .top-header .contact-wrap .tel-wrap{
        flex-wrap: wrap;
        justify-content: center
    }
    .top-header .contact-wrap .tel-wrap {
        gap: 5px 15px
    }
    .main-navigation.mobile-menu .menu{
        margin: 0!important
    }
    #site-navigation{
        display: block!important;
        position: static;
        height: fit-content;
        background: none;
        width: 100% !important;
        margin: 0!important
    }
    #main-menu{
        display: flex!important;
        justify-content: flex-end;
        align-items: center;
        margin: 0!important
    }
    #main-menu a{
        padding: 0!important;
        font-size: 16px!important;
        width: 100%
    }
    .site-branding{
        width: 180px;
        margin: 0!important
    }
    .container{
        margin-left: 15px!important;
        margin-right: 15px!important;
        max-width: calc(100% - 30px) !important
    }
    .site-header__wrap {
        margin-left: -15px!important;
        margin-right: -15px!important;
        max-width: 100%!important;
        padding: 0 0 0 15px!important;
        height: auto
    }
    .main-navigation.mobile-menu #main-menu li{
        display: block;
        padding: 10px 15px!important;
        background: #ffffff;
        border-radius: 8px
    }
    .main-navigation.mobile-menu #main-menu li{
        margin: 5px!important
    }
    .main-navigation.mobile-menu #main-menu li:last-child a{
        padding-right: 0
    }
    .main-navigation.mobile-menu #main-menu >li:before{
        transition: 0.3s
    }
    .main-navigation.mobile-menu #main-menu >li.rotate:before{
        transform: rotate(180deg);
        transition: 0.3s;
        color: var(--main-color) !important
    }
    .main-navigation.mobile-menu #main-menu >li.rotate >a{
        color: var(--main-color) !important
    }
    section.services .elementor-image-box-wrapper figure img {
        min-width: 60px;
        width: 60px
    }
    .advantages ul {
        margin-bottom: 0
    }
    .contact .elementor-element.elementor-element-50521c6f > .elementor-element-populated {
        padding-right: 0
    }
    section.services .elementor-image-box-wrapper {
        margin-bottom: 7px
    }
    section.about .elementor-element.elementor-element-24d89040 {
        width: 100%!important
    }
    section.about{
        padding-bottom: 40px
    }
    .price-page table {
        width: 100%
    }
    #site-navigation{
        padding-right: 0
    }
    .contact .elementor-row{
        flex-direction: column;
        gap: 30px
    }
    .contact .elementor-row >div{
        width: 100% !important
    }
    .contact .elementor-element.elementor-element-50521c6f > .elementor-element-populated{
        padding: 0!important
    }
    .about .elementor-row, .grid-2, .grid-3, .grid-4, .grid-2-1, .about .elementor-row.grid-2-1{
        grid-template-columns: 1fr
    }
    .about .elementor-row .elementor-top-column:last-child{
        padding: 0
    }
    .about .elementor-row .elementor-top-column:last-child img, .gallery img{
        width: 100%;
        object-fit: cover;
        transform: translateY(0px)
    }

    .main-navigation-inner{
        margin: 0 -5px
    }
    .bazz-widget.opened{
        width: auto!important;
        bottom: 60px!important;
        left: 20px!important
    }
    .bazz-widget-form, .bazz-widget-form-top{
        display: block!important;
        height: 100px!important
    }
    .bazz-widget-form-top{
        flex-direction: column;
        align-items: center
    }
    #bazz-widget-phone, .bazz-widget-form-submit{
        width: 252px!important;
        margin: 0!important;
        height: 50px!important
    }
    #bazz-widget-phone{
        border-radius: 8px 8px 0 0!important
    }
    #bazz-widget-phone::placeholder{
        color: #ccc8c8!important
    }
    .bazz-widget-form-submit{
        justify-content: center;
        align-items: center;
        border-radius: 0 0 8px 8px!important
    }
    .price-page table th, .price-page table td{
        padding: 5px 10px
    }
    .price-page table {
        min-width: 100%
    }
    .blog .posts-list{
        grid-template-columns: 1fr
    }
    .gallery .container{
        margin: 0!important;
        max-width: 100%!important
    }
    .display-desktop{
        display: none
    }
    .single-post #primary figure:not(:first-child){
        margin-top: 15px
    }
    .single-post #primary figure:not(:last-child){
        margin-bottom: 15px
    }
    .owl-nav button {
        padding: 23px 15px 10px
    }
    .sale-text p {
        font-size: 20px !important
    }
}
@media all and (max-width: 768px){
    .main-navigation .menu>li:last-child{
        margin-right: 0
    }
    .top-header .contact-wrap{
        display: block;
        width: 100%;
        max-width: 100%
    }
    .top-header .address{
        width: 100%;
        max-width: 100%;
        min-width: 0
    }
    .top-header .address a{
        width: 100%;
        max-width: 100%;
        display: block;
        box-sizing: border-box;
        padding: 0 12px;
        text-align: center;
        white-space: normal;
        overflow-wrap: break-word
    }
    /*.top-header .contact-wrap .tel-wrap{*/
    /*    flex-direction: column*/
    /*}*/
    .site-header__wrap .space-between-content{
        flex-direction: column
    }
    .site-header__wrap .space-between-content >div{
        width: 100%
    }
    #main-menu{
        justify-content: center
    }
    .logo-mob{
        display: block
    }
    .site-branding{
        text-align: center;
        padding: 0!important;
        width: 100%
    }
    .site-branding img {
        width: 150px!important;
        margin-top: 20px
    }
    .site-branding a{
        display: block;
        margin-bottom: -20px
    }
    .main-navigation-inner{
        margin: 30px -15px 20px 0
    }
    section.special-offers .elementor-inner-column img {
        width: 100%
    }
    section.advantages .grid-3{
        gap: 0
    }
    h1{
        font-size: 32px!important
    }
    .gallery img, .special-offers img, iframe {
        width: 100%
    }

}
@media all and (max-width: 640px){
    .main-navigation ul#main-menu ul.sub-menu{
        width: 150%
    }
    .main-navigation.mobile-menu #main-menu >li:before{
        color: #3b3d42 !important
    }
    .main-navigation ul#main-menu ul.sub-menu >li{
        margin: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-bottom: 10px !important;
        text-align: left
    }
    .main-navigation ul#main-menu ul.sub-menu >li:last-child{
        margin-bottom: 0!important
    }
    .main-navigation ul#main-menu ul.sub-menu >li a{
        color: #1a1818!important;
        text-align: left;
        overflow-wrap: anywhere
    }
    .main-navigation.mobile-menu .main-navigation-inner{
        overflow-y: visible!important
    }
    .main-navigation ul#main-menu ul.sub-menu{
        background-color: #ffffff!important
    }
    .main-navigation ul#main-menu ul.sub-menu{
        display: none;
        position: absolute!important;
        top: 100%;
        left: 0;
        width: 150%;
        border: 2px solid var(--main-color);
        margin-top: 10px;
        padding: 10px 0
    }
}
@media all and (max-width: 600px){
	    #main-menu{
	        display: grid!important;
	        grid-template-columns: repeat(2, minmax(0, 1fr));
	        gap: 8px;
	        position: relative
	    }
	    #main-menu > li{
	        grid-column: auto
	    }
	    #main-menu > li:last-child:nth-child(odd){
	        grid-column: 1 / -1;
	        justify-self: center;
	        width: calc(50% - 4px)
	    }
	    .main-navigation ul#main-menu >li{
	        text-align: center
	    }
	    .main-navigation.mobile-menu #main-menu li{
	        min-width: 0;
	        margin: 0!important;
	        padding: 0!important
	    }
	    .main-navigation ul#main-menu li.menu-item-has-children{
	        padding-right: 0!important
	    }
	    .main-navigation ul#main-menu li.menu-item-has-children:before{
	        top: 17px;
	        right: 16px
	    }
	    #main-menu a{
	        display: flex;
	        align-items: center;
	        justify-content: center;
	        min-height: 48px;
	        padding: 0 8px!important;
	        font-size: 13px!important;
	        line-height: 1.1!important;
	        letter-spacing: 0!important;
	        white-space: nowrap;
	        word-break: normal;
	        overflow-wrap: normal;
	        hyphens: none
	    }
	    #main-menu > li.menu-item-has-children > a{
	        padding-right: 24px!important;
	        padding-left: 8px!important
	    }
	    .main-navigation ul#main-menu ul.sub-menu{
	        width: 100%!important;
	        margin-top: 8px!important;
	        padding: 6px!important
	    }
	    .main-navigation ul#main-menu ul.sub-menu > li{
	        margin: 0 0 6px!important;
	        padding: 0!important;
	        text-align: center
	    }
	    .main-navigation ul#main-menu ul.sub-menu > li:last-child{
	        margin-bottom: 0!important
	    }
	    .main-navigation ul#main-menu ul.sub-menu > li a{
	        justify-content: center;
	        min-height: 40px;
	        padding: 0 8px!important;
	        text-align: center;
	        white-space: normal
	    }
	    .price-page table img {
	        width: 50px;
	    }
    #site-navigation{
        padding: 0 10px
    }
}

@media all and (max-width: 400px){
    .top-header .address a{
        width: 100%;
        display: block;
        text-align: center
    }
    .top-header .contact-wrap .tel-wrap{
        flex-direction: column
    }
    .price-page table td.product{
        gap: 10px
    }
}

		.tacho-home-actions{
		    margin-top: 24px;
		    max-width: 720px
		}
		.tacho-home-actions__buttons{
		    display: flex;
		    flex-wrap: wrap;
	    gap: 10px
	}
	.tacho-home-action{
	    display: inline-flex;
	    align-items: center;
	    justify-content: center;
	    min-height: 44px;
	    padding: 10px 16px;
	    border-radius: 8px;
	    background: #ffffff;
	    color: #1a1818!important;
	    font-size: 15px!important;
	    line-height: 1.1!important;
	    font-weight: 700;
	    text-decoration: none!important;
	    white-space: nowrap
	}
	.tacho-home-action.display-mob{
	    display: none!important
	}
	.tacho-home-action.display-desktop{
	    display: inline-flex!important
	}
	.tacho-home-action--route{
	    display: inline-flex!important
	}
	.tacho-home-action--telegram,
	.tacho-home-action--viber{
	    gap: 7px;
	    min-height: auto;
	    padding: 4px 2px;
	    border-radius: 0;
	    background: transparent;
	    color: #ffffff!important
	}
	.tacho-home-action--telegram img,
	.tacho-home-action--viber img{
	    width: 22px;
	    height: 22px;
	    flex: 0 0 22px;
	    display: block
	}
	.tacho-home-action--telegram span,
	.tacho-home-action--viber span{
	    color: #ffffff!important
	}
	.tacho-home-action--primary{
	    flex-direction: column;
	    align-items: flex-start;
	    min-width: 196px;
	    background: #ffce23
	}
	.tacho-home-action--primary span{
	    color: #1a1818!important;
	    font-size: 12px!important;
	    line-height: 1.1!important
	}
	.tacho-home-action--primary strong{
	    margin-top: 2px;
	    color: #1a1818;
	    font-size: 17px;
	    line-height: 1.1
	}
	.tacho-hero-info{
	    max-width: 640px;
	    margin-top: 28px;
	    display: grid;
	    gap: 16px;
	    color: #f2f2f2;
	    font-size: clamp(18px, 1.65vw, 22px);
	    line-height: 1.35;
	    font-weight: 500;
	    letter-spacing: 0;
	    text-wrap: pretty
	}
	.tacho-home-hero-location{
	    display: block;
	    margin-top: 7px;
	    color: #ffffff;
	    font-size: clamp(18px, 1.55vw, 22px);
	    font-weight: 600;
	    line-height: 1.2;
	    letter-spacing: 0;
	    text-transform: none
	}
	.tacho-hero-info__group{
	    display: grid;
	    gap: 4px
	}
	.tacho-hero-info__line{
	    color: inherit;
	    font: inherit
	}
	.tacho-hero-info__group--schedule{
	    gap: 8px
	}
	.tacho-hero-info__schedule-row{
	    display: flex;
	    flex-wrap: wrap;
	    align-items: baseline;
	    gap: 2px 10px
	}
	.tacho-hero-info__schedule-label{
	    color: #d8d8d8;
	    font-size: clamp(15px, 1.3vw, 17px);
	    font-weight: 500
	}
	.tacho-hero-info__schedule-value{
	    color: #ffffff;
	    font-size: clamp(18px, 1.6vw, 21px);
	    font-weight: 700;
	    line-height: 1.25
	}
	.tacho-hero-info__schedule-value span{
	    color: inherit;
	    font-size: .82em;
	    font-weight: 500;
	    white-space: nowrap
	}
	.tacho-hero-info__schedule-value .tacho-hero-info__hours{
	    color: #ffce23;
	    font-size: inherit;
	    font-weight: 700
	}
	.tacho-home-trust{
	    margin: 0!important;
	    padding: 0!important;
	    background: #414141
	}
	.tacho-home-trust .container{
	    width: 100%!important;
	    max-width: 1200px!important;
	    margin-right: auto!important;
	    margin-left: auto!important;
	    padding-right: 0!important;
	    padding-left: 0!important
	}
	.tacho-home-trust__grid{
	    display: grid;
	    grid-template-columns: repeat(4, minmax(0, 1fr));
	    overflow: hidden
	}
	.tacho-home-trust__item{
	    min-width: 0;
	    padding: 24px clamp(18px, 2.6vw, 34px);
	    border-left: 1px solid rgba(255, 255, 255, .24)
	}
	.tacho-home-trust__item:last-child{
	    border-right: 1px solid rgba(255, 255, 255, .24)
	}
	.tacho-home-trust__item strong{
	    display: block;
	    margin-bottom: 8px;
	    color: #ffce23;
	    font-size: 22px;
	    line-height: 1.05
	}
	.tacho-home-trust__item span{
	    display: block;
	    color: #ffffff;
	    font-size: 14px!important;
	    line-height: 1.35!important
	}
	@media all and (min-width: 992px){
	    .tacho-home-trust__item:last-child{
	        text-align: right
	    }
	}
	.tacho-home-about p{
	    max-width: none
	}
	.tacho-home-about-section .elementor-row{
	    display: grid!important;
	    grid-template-columns: repeat(2, minmax(0, 1fr));
	    gap: 50px
	}
	.tacho-home-about-section .elementor-column{
	    width: auto!important;
	    max-width: none!important
	}
	.tacho-home-about-section .tacho-home-service-photo{
	    max-width: none;
	    margin-left: 0
	}
	.tacho-home-about__facts{
	    margin: 18px 0 0;
	    padding: 0;
	    display: grid;
	    gap: 10px
	}
	.tacho-home-about__facts li{
	    position: relative;
	    list-style: none;
	    padding-left: 26px;
	    color: #ffffff;
	    font-size: 16px!important;
	    line-height: 1.35!important
	}
	.tacho-home-about__facts li:before{
	    content: "\f00c";
	    position: absolute;
	    left: 0;
	    top: 1px;
	    color: #ffce23;
	    font-family: 'Font Awesome 5 Free';
	    font-weight: 900
	}
	.tacho-home-service-photo{
	    margin: 0
	}
	.tacho-home-service-photo img{
	    display: block;
	    width: 100%;
	    border-radius: 12px
	}
	.tacho-home-service-photo figcaption{
	    margin-top: 10px;
	    color: #e8e8e8;
	    font-size: 14px!important;
	    line-height: 1.35!important
	}
	.tacho-home-service-list,
	.tacho-home-old-advantages{
	    display: none!important
	}
	.tacho-home-proof{
	    margin: 80px 0!important;
	    padding: 50px 0!important
	}
	.tacho-home-proof__head{
	    display: grid;
	    grid-template-columns: minmax(220px, .42fr) minmax(0, 1fr);
	    gap: 28px;
	    align-items: end;
	    margin-bottom: 26px
	}
	.tacho-home-proof__head h2,
	.tacho-home-seo h2{
	    margin: 0!important;
	    color: #ffffff!important
	}
	.tacho-home-proof__head p{
	    margin: 0!important;
	    color: #ffffff!important;
	    font-size: 18px!important;
	    line-height: 1.35!important
	}
	.tacho-home-proof__grid{
	    display: grid;
	    grid-template-columns: repeat(5, minmax(0, 1fr));
	    gap: 14px
	}
	.tacho-home-proof__item{
	    min-width: 0;
	    padding: 18px;
	    border-radius: 12px;
	    background: #ffffff
	}
	.tacho-home-proof__item strong{
	    display: block;
	    margin-bottom: 8px;
	    color: #1a1818;
	    font-size: 16px;
	    line-height: 1.2
	}
	.tacho-home-proof__item span{
	    display: block;
	    color: #333333;
	    font-size: 14px!important;
	    line-height: 1.35!important
	}
	.tacho-home-seo{
	    margin: 80px 0 40px!important;
	    padding: 0!important
	}
	.tacho-home-seo .container{
	    max-width: 1200px!important
	}
	.tacho-home-seo p{
	    color: #ffffff!important;
	    font-family: 'Roboto', sans-serif!important;
	    font-weight: 400!important;
	    font-size: 16px!important;
	    line-height: 1.5!important
	}
	.tacho-home-seo p:last-child{
	    margin-bottom: 0!important
	}
	.tacho-home-seo + .tacho-route-map{
	    margin-top: 40px
	}
	@media all and (max-width: 1200px){
	    .tacho-home-trust,
	    .tacho-home-proof,
	    .tacho-home-seo{
	        padding-right: 15px!important;
	        padding-left: 15px!important
	    }
	    .tacho-home-trust{
	        padding-right: 0!important;
	        padding-left: 0!important
	    }
	}
	@media all and (max-width: 991px){
	    .tacho-home-action.display-desktop{
	        display: none!important
	    }
	    .tacho-home-action.display-mob{
	        display: inline-flex!important
	    }
	    .tacho-home-action--route{
	        display: inline-flex!important
	    }
	    .tacho-home-trust__grid{
	        grid-template-columns: repeat(2, minmax(0, 1fr))
	    }
	    .tacho-home-proof__head,
	    .tacho-home-proof__grid{
	        grid-template-columns: 1fr
	    }
	}
	@media all and (max-width: 768px){
	    .page-template-template-main .site-header__wrap,
	    .home .site-header__wrap{
	        padding-top: 4px!important;
	        padding-bottom: 10px!important
	    }
	    .page-template-template-main .site-branding img,
	    .home .site-branding img{
	        width: 104px!important;
	        margin-top: 4px
	    }
	    .page-template-template-main .site-branding a,
	    .home .site-branding a{
	        margin-bottom: -6px
	    }
	    .page-template-template-main .main-navigation-inner,
	    .home .main-navigation-inner{
	        margin-top: 12px;
	        margin-bottom: 8px
	    }
	    .page-template-template-main .main-block,
	    .home .main-block{
	        padding-top: 24px!important;
	        padding-bottom: 42px!important;
	        background-position: 66% calc(100% - 142px)!important;
	        background-size: auto 90%!important
	    }
	    .page-template-template-main .main-block .tt-contacts,
	    .home .main-block .tt-contacts{
	        margin-top: 172px!important
	    }
	    .page-template-template-main .main-block h1,
	    .home .main-block h1{
	        font-size: 26px!important;
	        line-height: 1.18!important
	    }
	    .page-template-template-main .main-block p,
	    .home .main-block p{
	        font-size: 17px!important;
	        line-height: 1.35!important;
	        margin-bottom: 14px!important
	    }
	    .page-template-template-main .main-block font[size="6"],
	    .home .main-block font[size="6"]{
	        font-size: 26px!important
	    }
	    .page-template-template-main .main-block font[size="5"],
	    .home .main-block font[size="5"]{
	        font-size: 20px!important
	    }
	    .page-template-template-main .main-block font[size="4"],
	    .home .main-block font[size="4"]{
	        font-size: 14px!important
	    }
	    .tacho-hero-info{
	        margin-top: 24px;
	        gap: 14px;
	        font-size: 16px;
	        line-height: 1.35
	    }
	    .tacho-home-hero-location{
	        margin-top: 6px;
	        font-size: 18px
	    }
	    .tacho-hero-info__schedule-row{
	        display: grid;
	        gap: 1px
	    }
	    .tacho-hero-info__schedule-label{
	        font-size: 14px
	    }
	    .tacho-hero-info__schedule-value{
	        font-size: 17px
	    }
	    .tacho-home-actions{
	        margin-top: 16px
	    }
	    .tacho-home-actions__buttons{
	        display: flex;
	        flex-wrap: wrap;
	        align-items: stretch;
	        gap: 8px
	    }
	    .tacho-home-action{
	        min-height: 42px;
	        padding: 9px 10px;
	        font-size: 14px!important
	    }
	    .tacho-home-action--telegram,
	    .tacho-home-action--viber{
	        flex: 0 0 auto;
	        min-height: 42px;
	        padding: 8px 12px
	    }
	    .tacho-home-action--telegram span,
	    .tacho-home-action--viber span{
	        position: absolute;
	        width: 1px;
	        height: 1px;
	        padding: 0;
	        margin: 0;
	        overflow: hidden;
	        clip: rect(0 0 0 0);
	        white-space: nowrap;
	        border: 0
	    }
	    .tacho-home-action--primary{
	        flex: 1 1 auto;
	        align-items: center
	    }
	    .tacho-home-action--route{
	        flex: 1 1 100%
	    }
	    .tacho-home-trust{
	        padding-top: 0!important;
	        padding-bottom: 0!important
	    }
	    .tacho-home-trust__grid{
	        grid-template-columns: 1fr 1fr
	    }
	    .tacho-home-trust__item{
	        padding: 15px 12px 16px
	    }
	    .tacho-home-trust__item:nth-child(odd){
	        padding-right: 18px;
	        text-align: right
	    }
	    .tacho-home-trust__item:nth-child(even){
	        padding-left: 18px;
	        text-align: left
	    }
	    .tacho-home-trust__item{
	        border-color: rgba(255, 255, 255, .2)
	    }
	    .tacho-home-trust__item:nth-child(n+3){
	        border-top: 1px solid rgba(255, 255, 255, .2)
	    }
	    .tacho-home-trust__item strong{
	        margin-bottom: 5px;
	        font-size: 18px
	    }
	    .tacho-home-trust__item span{
	        font-size: 12px!important
	    }
	    .tacho-home-service-photo figcaption{
	        font-size: 13px!important
	    }
	    .tacho-home-proof{
	        margin: 40px 0!important;
	        padding-top: 32px!important;
	        padding-bottom: 32px!important
	    }
	    .tacho-home-proof__head{
	        gap: 10px;
	        margin-bottom: 18px
	    }
	    .tacho-home-proof__head p,
	    .tacho-home-seo p{
	        font-size: 16px!important
	    }
	    .tacho-home-proof__item{
	        padding: 14px;
	        border-radius: 10px
	    }
	    .tacho-home-about-section .elementor-row{
	        grid-template-columns: 1fr;
	        gap: 50px
	    }
	    .tacho-home-about-section .tacho-home-service-photo{
	        max-width: 100%;
	        margin: 0 auto
	    }
	    .tacho-home-seo{
	        margin-top: 40px!important;
	        margin-bottom: 28px!important
	    }
	    .tacho-home-seo .container{
	        width: 100%!important;
	        max-width: 100%!important
	    }
	    .tacho-home-seo + .tacho-route-map{
	        margin-top: 22px
	    }
	}
	.elementor-section-wrap > section.tacho-home-trust.tacho-home-trust{
	    padding-right: 0!important;
	    padding-left: 0!important
	}
	.elementor-section-wrap > section.tacho-home-trust.tacho-home-trust .container{
	    width: 100%!important;
	    max-width: 1200px!important;
	    margin-right: auto!important;
	    margin-left: auto!important;
	    padding-right: 0!important;
	    padding-left: 0!important
	}

	.tacho-route-map{
    width: 100%;
    overflow: hidden;
    border-radius: 16px;
    background: var(--gray)
}
.elementor-section-wrap > .tacho-route-map{
    max-width: 1200px;
    margin: 80px auto
}
.service-page .elementor-section-wrap > .tacho-route-map{
    margin: 60px auto
}
.contact .tacho-route-map,
.price-page .tacho-route-map{
    margin: 0
}
.tacho-route-map__top{
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: end;
    padding: 28px 34px 24px
}
.tacho-route-map__title{
    margin: 0 0 10px!important;
    color: #ffffff!important;
    font-size: 32px!important;
    line-height: 1.12!important;
    font-weight: 700!important;
    text-transform: none!important
}
.tacho-route-map__address{
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    align-items: center;
    margin: 0!important;
    color: #f1f1f1!important;
    font-size: 16px!important;
    line-height: 1.35!important
}
.tacho-route-map__address strong{
    color: #ffce23
}
.tacho-route-map__address-short{
    display: none
}
.tacho-route-map__actions{
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    min-width: 372px
}
.tacho-route-map__button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 12px 18px;
    border-radius: 8px;
    color: #1a1818!important;
    font-size: 16px!important;
    line-height: 1.1!important;
    font-weight: 700;
    text-decoration: none!important;
    white-space: nowrap
}
.tacho-route-map__button--google{
    background: #ffce23
}
.tacho-route-map__button--waze{
    background: #ffffff
}
.tacho-route-map__button-icon{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    font-size: 13px!important;
    font-weight: 900
}
.tacho-route-map__button--google .tacho-route-map__button-icon{
    color: #ffce23;
    background: var(--brown)
}
.tacho-route-map__button--waze .tacho-route-map__button-icon{
    color: #ffffff;
    background: #35a9e1
}
.tacho-route-map__points{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    border-top: 1px solid rgba(255, 255, 255, .12);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    background: rgba(255, 255, 255, .12)
}
.tacho-route-map__point{
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 15px 34px;
    background: rgba(65, 65, 65, .74)
}
.tacho-route-map__point-marker{
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: #1a1818;
    background: #ffce23;
    font-size: 15px!important;
    font-weight: 800
}
.tacho-route-map__point-label,
.tacho-route-map__point-note{
    display: block
}
.tacho-route-map__point-label{
    margin-bottom: 3px;
    color: #ffffff;
    font-size: 15px!important;
    line-height: 1.2!important;
    font-weight: 700
}
.tacho-route-map__point-note{
    color: #d9d9d9;
    font-size: 13px!important;
    line-height: 1.3!important
}
.tacho-route-map__frame{
    height: 440px;
    overflow: hidden
}
.tacho-route-map__frame iframe{
    display: block;
    width: 100%;
    min-width: 100%;
    height: 100%!important;
    min-height: 100%!important;
    border: 0;
    border-radius: 0!important
}
.tacho-route-map--embedded .tacho-route-map__top,
.tacho-route-map--compact .tacho-route-map__top{
    display: block;
    padding: 22px
}
.tacho-route-map--embedded .tacho-route-map__title,
.tacho-route-map--compact .tacho-route-map__title{
    font-size: 24px!important
}
.tacho-route-map--embedded .tacho-route-map__actions,
.tacho-route-map--compact .tacho-route-map__actions{
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-width: 0;
    margin-top: 16px
}
.tacho-route-map--embedded .tacho-route-map__button,
.tacho-route-map--compact .tacho-route-map__button{
    padding-right: 12px;
    padding-left: 12px;
    font-size: 14px!important
}
.tacho-route-map--embedded .tacho-route-map__points{
    display: none
}
.tacho-route-map--embedded .tacho-route-map__frame{
    height: 420px
}
.tacho-route-map--compact{
    max-width: 100%
}
@media all and (max-width: 1100px){
    .tacho-route-map__points{
        grid-template-columns: 1fr
    }
    .tacho-route-map__point{
        padding-right: 24px;
        padding-left: 24px
    }
}
@media all and (max-width: 767px){
    .elementor-section-wrap > .tacho-route-map,
    .service-page .elementor-section-wrap > .tacho-route-map{
        margin: 30px 0
    }
    .tacho-route-map{
        border-radius: 14px
    }
    .tacho-route-map__top,
    .tacho-route-map--embedded .tacho-route-map__top,
    .tacho-route-map--compact .tacho-route-map__top{
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 16px
    }
    .tacho-route-map__title,
    .tacho-route-map--embedded .tacho-route-map__title,
    .tacho-route-map--compact .tacho-route-map__title{
        margin-bottom: 6px!important;
        font-size: 22px!important;
        line-height: 1.12!important
    }
    .tacho-route-map__address{
        display: block;
        font-size: 14px!important;
        line-height: 1.3!important
    }
    .tacho-route-map__address-full{
        display: none
    }
    .tacho-route-map__address-short{
        display: inline
    }
    .tacho-route-map__actions,
    .tacho-route-map--embedded .tacho-route-map__actions,
    .tacho-route-map--compact .tacho-route-map__actions{
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        min-width: 0;
        margin-top: 0
    }
    .tacho-route-map__button,
    .tacho-route-map--embedded .tacho-route-map__button,
    .tacho-route-map--compact .tacho-route-map__button{
        gap: 8px;
        min-height: 46px;
        width: 100%;
        min-width: 0;
        padding: 10px 9px;
        font-size: 14px!important
    }
    .tacho-route-map__button-icon{
        width: 22px;
        height: 22px;
        font-size: 12px!important
    }
    .tacho-route-map__points{
        display: none
    }
    .tacho-route-map__frame,
    .tacho-route-map--embedded .tacho-route-map__frame{
        height: 276px
    }
}
@media all and (max-width: 360px){
    .tacho-route-map__title,
    .tacho-route-map--embedded .tacho-route-map__title,
    .tacho-route-map--compact .tacho-route-map__title{
        font-size: 20px!important
    }
    .tacho-route-map__address{
        font-size: 13px!important
    }
    .tacho-route-map__button{
        font-size: 13px!important
    }
    .tacho-route-map__button-icon{
        display: none
    }
}

.tacho-mobile-sticky{
    display: none
}
@media all and (max-width: 767px){
    .tacho-mobile-sticky{
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1200;
        padding: calc(env(safe-area-inset-top, 0px) + 8px) 12px 8px;
        opacity: 0;
        pointer-events: none;
        transform: translateY(-120%);
        transition: opacity .2s ease, transform .2s ease
    }
    .admin-bar .tacho-mobile-sticky{
        top: 46px
    }
    .tacho-mobile-sticky.is-visible{
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0)
    }
    .tacho-mobile-sticky__bar{
        display: grid;
        grid-template-columns: minmax(72px, 1fr) auto auto;
        align-items: center;
        gap: 8px;
        min-height: 52px;
        padding: 7px 8px 7px 10px;
        border: 1px solid rgba(255, 255, 255, .16);
        border-radius: 8px;
        background: rgba(65, 65, 65, .98);
        box-shadow: 0 8px 22px rgba(0, 0, 0, .28)
    }
    .tacho-mobile-sticky a{
        text-decoration: none!important
    }
    .tacho-mobile-sticky__brand{
        display: flex;
        min-width: 0;
        align-items: center
    }
    .tacho-mobile-sticky__brand img{
        display: block;
        width: 98px;
        max-width: 100%;
        height: auto
    }
    .tacho-mobile-sticky__toggle,
    .tacho-mobile-sticky__call{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        min-width: 84px;
        height: 38px;
        margin: 0;
        padding: 0 11px;
        border-radius: 4px;
        border: 0;
        font-size: 12px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0;
        text-transform: uppercase;
        white-space: nowrap;
        box-shadow: none
    }
    .tacho-mobile-sticky__toggle,
    .tacho-mobile-sticky__toggle:hover,
    .tacho-mobile-sticky__toggle:focus{
        color: #3b3d42!important;
        background: #ffffff!important;
        border: 1px solid rgba(255, 255, 255, .32)
    }
    .tacho-mobile-sticky__call,
    .tacho-mobile-sticky__call:hover,
    .tacho-mobile-sticky__call:focus{
        color: #1a1818!important;
        background: #ffce23!important
    }
    .tacho-mobile-sticky__icon{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 14px
    }
    .tacho-mobile-sticky__icon--close{
        display: none
    }
    .tacho-mobile-sticky.is-open .tacho-mobile-sticky__icon--menu{
        display: none
    }
    .tacho-mobile-sticky.is-open .tacho-mobile-sticky__icon--close{
        display: inline-flex
    }
    .tacho-mobile-sticky__menu{
        display: none;
        max-height: calc(100vh - 78px - env(safe-area-inset-top, 0px));
        margin-top: 8px;
        overflow-y: auto;
        border-radius: 8px;
        background: #ffffff;
        box-shadow: 0 12px 28px rgba(0, 0, 0, .3)
    }
    .tacho-mobile-sticky.is-open .tacho-mobile-sticky__menu{
        display: block
    }
    .tacho-mobile-sticky__menu a{
        display: flex;
        align-items: center;
        min-height: 48px;
        padding: 0 16px;
        border-bottom: 1px solid #ececec;
        color: #3b3d42!important;
        font-size: 15px;
        font-weight: 700;
        letter-spacing: 0;
        line-height: 1.2;
        text-transform: uppercase
    }
    .tacho-mobile-sticky__menu a:last-child{
        border-bottom: 0
    }
    .tacho-mobile-sticky__menu a:after{
        content: '\f105';
        margin-left: auto;
        padding-left: 12px;
        color: var(--main-color);
        font-family: 'FontAwesome';
        font-weight: normal
    }
}
@media all and (max-width: 360px){
    .tacho-mobile-sticky{
        padding-left: 8px;
        padding-right: 8px
    }
    .tacho-mobile-sticky__bar{
        gap: 6px
    }
    .tacho-mobile-sticky__brand img{
        width: 88px
    }
    .tacho-mobile-sticky__toggle,
    .tacho-mobile-sticky__call{
        min-width: 74px;
        padding: 0 8px;
        font-size: 11px
    }
}
@media all and (min-width: 768px){
    .tacho-mobile-sticky{
        display: none!important
    }
}

.tacho-about-page{
    overflow: hidden;
    background: #414141;
    color: #ffffff
}
.tacho-about-page .container{
    width: 100%;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto
}
.tacho-about-intro{
    padding: 70px 0 38px
}
.tacho-about-intro__grid{
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(560px, 1.22fr);
    gap: 46px;
    align-items: start
}
.tacho-about-intro__content{
    max-width: 620px
}
.tacho-about-intro h1,
.tacho-about-cta h2{
    margin: 0!important;
    color: #ffffff!important;
    font-weight: 700!important;
    text-transform: uppercase!important
}
.tacho-about-intro h1{
    font-size: clamp(34px, 4vw, 54px)!important;
    line-height: 1.08!important;
    text-wrap: balance
}
.tacho-about-page .elementor-divider{
    margin: 22px 0 34px!important
}
.tacho-about-page .elementor-divider-separator{
    width: 60px!important;
    border-top-color: #d1b11e!important
}
.tacho-about-intro p,
.tacho-about-cta p{
    margin: 0 0 18px!important;
    color: #f0f0f0!important;
    font-size: 18px!important;
    line-height: 1.55!important;
    text-wrap: pretty
}
.tacho-about-intro p:last-child,
.tacho-about-cta p:last-child{
    margin-bottom: 0!important
}
.tacho-about-intro strong{
    color: #ffffff
}
.tacho-about-certificates{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px
}
.tacho-about-certificate{
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 0;
    border: 0;
    background: transparent;
    color: #ffffff!important;
    font: inherit;
    text-align: left;
    text-decoration: none!important;
    cursor: pointer;
    appearance: none
}
.tacho-about-certificate__image{
    display: block;
    height: clamp(430px, 34vw, 540px);
    padding: 10px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 10px;
    background: #2f2f2f
}
.tacho-about-certificate:hover .tacho-about-certificate__image,
.tacho-about-certificate:focus-visible .tacho-about-certificate__image,
.tacho-about-gallery__button:hover,
.tacho-about-gallery__button:focus-visible{
    border-color: rgba(255, 206, 35, .75)
}
.tacho-about-certificate__image img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain
}
.tacho-about-proof{
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin-top: 42px
}
.tacho-about-proof__item{
    min-width: 0;
    padding: 20px clamp(13px, 1.55vw, 24px)
}
.tacho-about-proof__item + .tacho-about-proof__item{
    border-left: 1px solid rgba(255, 255, 255, .32)
}
.tacho-about-proof__item strong{
    display: block;
    margin-bottom: 8px;
    color: #ffce23;
    font-size: clamp(19px, 1.85vw, 28px);
    line-height: 1.08
}
.tacho-about-proof__item span{
    display: block;
    color: #f2f2f2;
    font-size: 14px!important;
    line-height: 1.35!important
}
.tacho-about-gallery{
    padding: 12px 0 42px
}
.tacho-about-cta h2{
    font-size: clamp(30px, 3.3vw, 46px)!important;
    line-height: 1.12!important;
    text-wrap: balance
}
.tacho-about-gallery__grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px
}
.tacho-about-gallery__item{
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border-radius: 10px;
    background: #333333
}
.tacho-about-gallery__button{
    display: block;
    width: 100%;
    padding: 0;
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    cursor: pointer;
    appearance: none
}
.tacho-about-gallery__button img{
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform .22s ease
}
.tacho-about-gallery__button:hover img,
.tacho-about-gallery__button:focus-visible img{
    transform: scale(1.025)
}
.tacho-about-cta{
    padding: 34px 0 14px
}
.tacho-about-cta__inner{
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 36px;
    align-items: end;
    padding: 30px 0;
    border-top: 1px solid rgba(255, 255, 255, .24);
    border-bottom: 1px solid rgba(255, 255, 255, .24)
}
.tacho-about-cta h2{
    margin-bottom: 10px!important;
    text-transform: none!important
}
.tacho-about-actions{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    min-width: 410px
}
.tacho-about-action{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 11px 16px;
    border-radius: 8px;
    background: #ffffff;
    color: #1a1818!important;
    font-size: 15px!important;
    line-height: 1.1!important;
    font-weight: 700;
    text-decoration: none!important;
    white-space: nowrap
}
.tacho-about-action--primary{
    flex-direction: column;
    align-items: flex-start;
    min-width: 208px;
    background: #ffce23
}
.tacho-about-action--telegram,
.tacho-about-action--viber{
    gap: 7px;
    min-height: auto;
    padding: 4px 2px;
    border-radius: 0;
    background: transparent;
    color: #ffffff!important
}
.tacho-about-action--telegram img,
.tacho-about-action--viber img{
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    display: block
}
.tacho-about-action--telegram span,
.tacho-about-action--viber span{
    color: #ffffff!important
}
.tacho-about-action--primary span{
    color: #1a1818!important;
    font-size: 12px!important;
    line-height: 1.1!important
}
.tacho-about-action--primary strong{
    margin-top: 3px;
    color: #1a1818;
    font-size: 17px;
    line-height: 1.1
}
.tacho-about-action.display-mob{
    display: none!important
}
.tacho-about-route{
    padding: 0 0 80px
}
.tacho-about-route .tacho-route-map{
    margin: 0;
    max-width: none
}
.tacho-about-lightbox[hidden]{
    display: none!important
}
.tacho-about-lightbox{
    position: fixed;
    inset: 0;
    z-index: 1600;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(14px, 4vw, 46px);
    background: rgba(12, 12, 12, .88)
}
.tacho-about-lightbox-open{
    overflow: hidden
}
.tacho-about-lightbox__figure{
    max-width: min(1080px, 100%);
    max-height: 100%;
    margin: 0;
    display: grid;
    gap: 12px
}
.tacho-about-lightbox__image{
    display: block;
    max-width: 100%;
    max-height: calc(100vh - 126px);
    object-fit: contain;
    border-radius: 10px;
    background: #ffffff
}
.tacho-about-lightbox__caption{
    color: #ffffff;
    font-size: 15px!important;
    line-height: 1.35!important;
    text-align: center
}
.tacho-about-lightbox__close{
    position: fixed;
    top: 18px;
    right: 18px;
    min-height: 42px;
    padding: 10px 16px;
    border: 0;
    border-radius: 8px;
    background: #ffce23;
    color: #1a1818;
    font-size: 15px!important;
    line-height: 1.1!important;
    font-weight: 800;
    cursor: pointer
}

@media all and (max-width: 1200px){
    .tacho-about-page .container{
        padding-right: 15px;
        padding-left: 15px
    }
}
@media all and (max-width: 1100px){
    .tacho-about-intro__grid{
        grid-template-columns: 1fr;
        gap: 34px
    }
    .tacho-about-intro__content{
        max-width: 760px
    }
    .tacho-about-certificate__image{
        height: 420px
    }
    .tacho-about-proof{
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
    .tacho-about-proof__item:nth-child(4){
        border-left: 0
    }
    .tacho-about-proof__item:nth-child(n+4){
        border-top: 1px solid rgba(255, 255, 255, .32)
    }
    .tacho-about-cta__inner{
        grid-template-columns: 1fr
    }
    .tacho-about-actions{
        justify-content: flex-start;
        min-width: 0
    }
}
@media all and (max-width: 767px){
    .tacho-about-page .container{
        width: calc(100vw - 24px)!important;
        max-width: calc(100vw - 24px)!important;
        margin-right: 12px!important;
        margin-left: 12px!important;
        padding-right: 0;
        padding-left: 0
    }
    .page-template-template-about .elementor-section-wrap > .tacho-about-intro{
        margin: 0!important;
        padding-top: 8px!important;
        padding-right: 0!important;
        padding-bottom: 10px!important;
        padding-left: 0!important
    }
    .page-template-template-about .elementor-section-wrap > .tacho-about-gallery,
    .page-template-template-about .elementor-section-wrap > .tacho-about-cta,
    .page-template-template-about .elementor-section-wrap > .tacho-about-route{
        padding-right: 0!important;
        padding-left: 0!important
    }
    .tacho-about-intro__grid{
        gap: 20px
    }
    .tacho-about-intro h1{
        font-size: 30px!important
    }
    .tacho-about-page .elementor-divider{
        margin-top: 12px!important;
        margin-bottom: 18px!important
    }
    .tacho-about-intro p,
    .tacho-about-cta p{
        font-size: 15px!important;
        line-height: 1.48!important
    }
    .tacho-about-certificates{
        gap: 10px
    }
    .tacho-about-certificate__image{
        height: 205px;
        padding: 6px;
        border-radius: 8px
    }
    .tacho-about-proof{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 26px
    }
    .tacho-about-proof__item,
    .tacho-about-proof__item + .tacho-about-proof__item{
        border-left: 0;
        border-top: 0
    }
    .tacho-about-proof__item{
        padding: 16px 14px
    }
    .tacho-about-proof__item:nth-child(odd){
        padding-right: 18px;
        text-align: right
    }
    .tacho-about-proof__item:nth-child(even){
        padding-left: 18px;
        border-left: 1px solid rgba(255, 255, 255, .28);
        text-align: left
    }
    .tacho-about-proof__item:nth-child(n+3){
        border-top: 1px solid rgba(255, 255, 255, .28)
    }
    .tacho-about-proof__item strong{
        margin-bottom: 5px;
        font-size: 18px
    }
    .tacho-about-proof__item span{
        font-size: 12px!important
    }
    .page-template-template-about .elementor-section-wrap > .tacho-about-gallery{
        margin: 0!important;
        padding-top: 4px!important;
        padding-bottom: 12px!important
    }
    .tacho-about-cta h2{
        font-size: 28px!important
    }
    .tacho-about-gallery__grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px
    }
    .tacho-about-gallery__item{
        border-radius: 8px
    }
    .tacho-about-gallery__button{
        border-radius: 8px
    }
    .page-template-template-about .elementor-section-wrap > .tacho-about-cta{
        margin: 0!important;
        padding-top: 6px!important;
        padding-bottom: 6px!important
    }
    .tacho-about-cta__inner{
        gap: 12px;
        padding: 18px 0
    }
    .tacho-about-actions{
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        width: 100%
    }
    .tacho-about-action{
        min-height: 42px;
        padding: 9px 10px;
        font-size: 14px!important
    }
    .tacho-about-action--telegram,
    .tacho-about-action--viber{
        min-height: auto;
        padding: 4px 2px
    }
    .tacho-about-action--primary{
        grid-column: 1 / -1;
        align-items: center;
        min-width: 0
    }
    .tacho-about-action.display-desktop{
        display: none!important
    }
    .tacho-about-action.display-mob{
        display: inline-flex!important
    }
    .page-template-template-about .elementor-section-wrap > .tacho-about-route{
        margin: 0!important;
        padding-top: 0!important;
        padding-bottom: 30px!important
    }
    .tacho-about-route .container{
        padding-right: 0;
        padding-left: 0
    }
    .tacho-about-route .tacho-route-map{
        border-radius: 0
    }
    .tacho-about-lightbox{
        padding: 14px
    }
    .tacho-about-lightbox__image{
        max-height: calc(100vh - 112px);
        border-radius: 8px
    }
    .tacho-about-lightbox__close{
        top: 12px;
        right: 12px
    }
}
@media all and (max-width: 360px){
    .tacho-about-certificates{
        grid-template-columns: 1fr
    }
    .tacho-about-certificate__image{
        height: 220px
    }
    .tacho-about-proof__item{
        padding-right: 10px;
        padding-left: 10px
    }
    .tacho-about-action--primary strong{
        font-size: 16px
    }
}

/* ===================================================================
   Unified contact / route blocks v2 (Price page first — 2026-07)
   Isolated tt-* classes; does not touch legacy .tacho-home-action.
   =================================================================== */
.tt-contacts,
.tt-route { width: 100%; max-width: 440px; }
.tt-route { margin-top: 16px; }

.tt-row { display: grid; gap: 8px; }
.tt-row--phones { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); margin-bottom: 8px; }
.tt-row--msg,
.tt-row--route { grid-template-columns: 1fr 1fr; }
.tt-row--primary-contact {
	grid-template-columns: minmax(0, 1fr) 46px 46px;
	gap: 8px;
	margin-bottom: 8px;
}
.tt-row--primary-contact .tt-act--icon {
	justify-content: center;
	width: 46px;
	padding: 0;
}
.tt-row--contact-route {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}
.tt-row--contact-route .tt-act {
	height: auto;
	min-height: 46px;
	padding: 8px 10px;
	line-height: 1.15;
	text-align: center;
	white-space: normal;
	overflow: visible;
	hyphens: none;
	overflow-wrap: normal;
	word-break: normal;
}
.tt-row--contact-route .tt-label {
	min-width: 0;
	max-width: 100%;
	hyphens: none;
	overflow-wrap: normal;
	word-break: normal;
}

.tt-act {
	display: flex; align-items: center; gap: 8px;
	height: 46px; padding: 0 12px; margin: 0;
	border: 0; border-radius: 9px;
	background: #f3f4f6; color: #1a1818;
	font-size: 13.5px; font-weight: 600; line-height: 1;
	text-decoration: none; white-space: nowrap; overflow: hidden;
	transition: filter .15s ease;
}
.tt-act:hover { filter: brightness(0.96); color: #1a1818; text-decoration: none; }
.tt-act--center { justify-content: center; gap: 7px; }
.tt-act--primary { background: #ffce23; }

.tt-act .tt-ico { width: 18px; height: 18px; flex: 0 0 18px; display: flex; align-items: center; justify-content: center; }
.tt-act .tt-ico svg { width: 17px; height: 17px; fill: currentColor; }
.tt-act .tt-ico img,
.service-page .tt-act .tt-ico img {
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 100% !important;
	aspect-ratio: auto !important;
	object-fit: contain !important;
}
.tt-act .tt-num { font-weight: 700; font-size: 14px; }

.tt-route__title { margin: 0 0 4px; font-size: 17px; font-weight: 700; color: #fff; }
.tt-route__addr { display: flex; gap: 6px; align-items: flex-start; margin: 0 0 12px; font-family: 'Roboto', sans-serif; font-weight: 400; font-size: 13px; line-height: 1.3; color: #c9ccd1; }
.tt-route__addr svg { width: 15px; height: 15px; fill: #ffce23; flex: 0 0 15px; margin-top: 1px; }
.tt-route__map { margin-top: 12px; border-radius: 10px; overflow: hidden; border: 1px solid rgba(255,255,255,.08); }
.tt-route__map iframe { display: block; width: 100%; height: 230px; border: 0; }

@media (max-width: 480px) {
	.tt-contacts, .tt-route { max-width: 100%; }
}

.tt-route .tt-route__title { background: none !important; padding: 0 !important; border: 0 !important; display: block; }

.tt-row--msg {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}
.tt-row--msg .tt-act {
	flex: 1 1 104px;
	min-width: 0;
}

/* route+map block card (bottom of pages) */
.tt-route { max-width: 560px; background: #33363b; border-radius: 14px; padding: 16px; }
.price-route { margin-top: 8px; }

/* tighten spacing around bottom route section on price page */
.price-route { margin-top: 24px !important; margin-bottom: 16px !important; }
.price-route .tt-route { margin-top: 0; }
.price-seo { margin-bottom: 24px !important; }
.price-page .tt-contacts {
	max-width: 100%;
}

/* Client price list, 2026-07-20: grouped two-column table without numbering. */
.price-page .elementor-element-76ee152d .elementor-heading-title {
	-webkit-hyphens: none;
	hyphens: none;
	overflow-wrap: normal;
	word-break: normal;
}

.price-page .price-as-of {
	margin: 6px 0 0;
	color: #ffce23 !important;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
}
.price-page .price-table {
	width: 100%;
	min-width: 0;
	table-layout: fixed;
	border-collapse: collapse;
}
.price-page .price-table th,
.price-page .price-table td {
	padding: 10px 16px;
	border: 1px solid rgba(255,255,255,.55);
	vertical-align: middle;
}
.price-page .price-table th:last-child,
.price-page .price-table td:last-child {
	width: 170px;
	white-space: nowrap;
}
.price-page .price-table .price-group-row th {
	width: auto;
	padding: 14px 16px 8px;
	border-color: rgba(255,255,255,.45);
	background: #383838;
	color: #ffce23 !important;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	text-align: left;
}
.price-page .price-notes {
	margin-top: 16px;
}
.price-page .price-notes p {
	margin: 0 0 4px;
	line-height: 1.4;
}

@media (max-width: 768px) {
	.price-page .price-as-of {
		font-size: 14px;
	}
	.price-page .price-table th,
	.price-page .price-table td {
		padding: 8px;
		font-size: 12px;
		line-height: 1.3;
	}
	.price-page .price-table th:last-child,
	.price-page .price-table td:last-child {
		width: 86px;
	}
	.price-page .price-table .price-group-row th {
		padding: 12px 8px 7px;
		font-size: 12px;
	}
	.price-page .price-notes p {
		font-size: 13px;
	}
}

/* ensure unified buttons keep dark ink on service pages (legacy link-color bleed) */
.tt-act, .tt-act .tt-num { color: #1a1818 !important; }
.tt-act .tt-ico svg { fill: #1a1818 !important; }

/* Ultra-narrow (Galaxy Z Fold fully-folded / <=340px): tighten actions so labels never clip */
@media (max-width: 412px) {
	.tt-act { padding: 0 8px; }
	.tt-act--center { gap: 5px; }
}
@media (max-width: 340px) {
	.tt-act { padding: 0 6px; gap: 5px; }
	.tt-act .tt-num { font-size: 13px; }
	.tt-row--primary-contact { grid-template-columns: minmax(0, 1fr) 42px 42px; gap: 6px; }
	.tt-row--primary-contact .tt-act--icon { width: 42px; }
	.tt-row--contact-route { gap: 6px; }
	.tt-row--contact-route .tt-act { padding: 7px 5px; font-size: 12px; }
}
@media (max-width: 350px) {
	.tt-row--msg {
		gap: 6px;
	}
	.tt-row--msg .tt-act {
		height: 42px;
		min-height: 42px;
		padding: 0 5px;
		gap: 4px;
		flex-basis: 92px;
		font-size: 12.5px;
	}
	.tt-row--msg .tt-act .tt-ico {
		width: 16px;
		height: 16px;
		flex-basis: 16px;
	}
	.tt-row--msg .tt-act .tt-ico svg,
	.tt-row--msg .tt-act .tt-ico img {
		width: 16px;
		height: 16px;
	}
}

/* Contacts schedule (Режим роботи) — clean formatted rows */
.tt-hours { max-width: 480px; display: flex; flex-direction: column; gap: 8px; margin: 4px 0; }
.tt-hours__row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 10px 14px; background: rgba(255,255,255,0.05); border-left: 3px solid #ffce23; border-radius: 9px; }
.tt-hours__label { font-weight: 600; color: #fff; }
.tt-hours__value { color: #c9ccd1; text-align: right; }
.tt-hours__time { color: #ffce23 !important; }
.tt-hours a { color: #ffce23; text-decoration: none; }
@media (max-width: 480px){ .tt-hours__row{ flex-direction: column; gap: 2px; } .tt-hours__value{ text-align: left; } }

/* Contacts page: larger schedule text + tighter section spacing */
.tt-hours__label, .tt-hours__value { font-size: 16px; }
.tt-hours__row { padding: 12px 16px; }
.contact-page .elementor-top-section { margin-top: 30px !important; margin-bottom: 30px !important; }
.contact-page .tt-contacts,
.contact-page .tt-hours {
	max-width: 100%;
}
.contact-page .email {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	max-width: 100%;
	color: #ffffff !important;
	font-size: clamp(18px, 5.4vw, 24px) !important;
	line-height: 1.1 !important;
	white-space: nowrap;
	text-decoration: underline !important;
}
.contact-page .email img {
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
}
@media (max-width: 768px) {
	.contact-page .elementor-top-section {
		margin-top: 22px !important;
		margin-bottom: 22px !important;
	}
	.contact-page .contact.elementor-top-section {
		margin-top: 18px !important;
		margin-bottom: 18px !important;
	}
	.contact-page .contact .elementor-row {
		gap: 18px;
	}
	.contact-page .tt-route {
		padding: 14px;
	}
	.contact-page .tt-route__map iframe {
		height: 180px;
	}
	.contact-page .form,
	.contact-page .wpcf7,
	.contact-page .wpcf7-form {
		margin-bottom: 0 !important;
	}
	.contact-page .wpcf7-form p {
		margin-bottom: 10px !important;
	}
	.contact-page .wpcf7-response-output {
		margin-top: 8px !important;
		margin-bottom: 0 !important;
	}
}

/* Home SEO text: box to same column width as the "про нас" section (align left+right) */
.tacho-home-seo h2, .tacho-home-seo p { max-width: 575px; }

/* Mobile-first: align home SEO section with other sections (was inset 30px left, overflowing to 430 right) */
@media (max-width: 768px) {
	.tacho-home-seo .container { margin-left: 0 !important; margin-right: 0 !important; max-width: 100% !important; }
}

/* Mobile: tighten oversized gaps around "Наші послуги" (gallery + services) */
@media (max-width: 768px) {
	.gallery { margin-top: 36px !important; }
	.about.tacho-home-about-section { margin-top: 36px !important; }
}


/* Blog / single-post body: unify to Roboto 400 (was thin Montserrat 300) */
.single .entry-content p,
.single .entry-content li,
.single .entry-content td {
	font-family: 'Roboto', sans-serif !important;
	font-weight: 400 !important;
	font-size: 16px !important;
	line-height: 1.6 !important;
}

/* CF7 form labels + recent-posts widget: kill thin Montserrat 300 -> Roboto 400 */
.wpcf7-form p,
.wpcf7-form label,
.wp-block-latest-posts__list li,
.wp-block-latest-posts__list li a {
	font-family: 'Roboto', sans-serif !important;
	font-weight: 400 !important;
}

/* Home About: 2nd paragraph had inline grey (#d3d3d3) — force white to match the rest */
.tacho-home-about-section p span[style*="d3d3d3" i] {
	color: #ffffff !important;
	font-size: inherit !important;
}

/* Mobile uses the persistent header call action; hide the redundant callback widget. */
@media (max-width: 768px) {
	.bazz-widget {
		display: none !important;
	}
}

/* Final QA fixes: carousel arrows should not block clicks on service cards. */
.owl-nav {
	pointer-events: none;
}
.owl-nav button {
	pointer-events: auto;
}

/* Final QA fixes: route buttons now carry explicit "Прокласти маршрут" copy. */
.tt-row--route .tt-act {
	height: auto;
	min-height: 46px;
	line-height: 1.15;
	white-space: normal;
	text-align: center;
}
@media (max-width: 480px) {
	.tt-row--route {
		grid-template-columns: 1fr !important;
	}
}

/* Final QA fixes: bottom route blocks should use the desktop container width. */
@media (min-width: 992px) {
	.home .tt-route,
	.service-page .tt-route {
		max-width: 1200px;
		margin-left: auto;
		margin-right: auto;
	}
	.home .tt-route__map iframe,
	.service-page .tt-route__map iframe {
		height: 320px;
	}
	.tacho-home-seo h2,
	.tacho-home-seo p {
		max-width: 1200px;
	}
}

/* Fold/tablet home bottom: match desktop-width intent before the 992px breakpoint. */
@media (min-width: 481px) and (max-width: 991px) {
	.home .tt-route {
		width: calc(100% - 30px);
		max-width: none;
		margin-left: 15px;
		margin-right: 15px;
		box-sizing: border-box;
	}
	.home .tt-route__map iframe {
		height: 300px;
	}
	.tacho-home-seo h2,
	.tacho-home-seo p {
		max-width: 100%;
	}
}

/* Final QA fixes: contact form submit should align with the input width. */
.contact-page .wpcf7-form-control.wpcf7-submit {
	display: block;
	width: 100%;
	max-width: 100%;
}

/* Final QA fixes: restore radio process photos/content without adding CTA clutter. */
.radio-process-section {
	margin: 60px auto 70px !important;
}
.radio-process-section .elementor-container {
	display: grid;
	gap: 20px;
}
.radio-process-section__head {
	max-width: 860px;
}
.radio-process-section__head h2 {
	margin-bottom: 12px !important;
	color: #ffffff !important;
}
.radio-process-section__head p,
.radio-process-section__note {
	margin: 0 !important;
	color: #ffffff !important;
	font-size: 16px !important;
	line-height: 1.5 !important;
}
.radio-process-section__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}
.radio-process-section figure {
	margin: 0;
	background: rgba(255,255,255,.05);
	border-radius: 10px;
	overflow: hidden;
}
.radio-process-section img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.radio-process-section figcaption {
	padding: 12px 14px;
	color: #ffffff;
	font-size: 14px;
	line-height: 1.35;
}
.radio-process-section__link {
	justify-self: start;
	color: #ffce23 !important;
	font-weight: 700;
	text-decoration: none !important;
}
@media (max-width: 768px) {
	.radio-process-section {
		margin: 24px auto 32px !important;
	}
	.radio-process-section__grid {
		grid-template-columns: 1fr;
	}
}

/* Final regression pass: Fold/mobile menu, contact actions, and callback tube. */
@media all and (max-width: 600px) {
	#main-menu > li.menu-item-has-children.rotate {
		grid-column: auto;
		display: block !important;
		position: static !important;
		z-index: auto;
		background: #ffffff !important;
		border-radius: 8px !important;
	}
	.main-navigation ul#main-menu > li.menu-item-has-children.rotate {
		position: static !important;
	}
		#main-menu:has(> li.menu-item-has-children.rotate) {
			padding-bottom: 94px;
		}
		#main-menu:has(> li.menu-item-has-children.rotate) > li:nth-child(n+3) {
			transform: translateY(94px);
		}
	#main-menu > li.menu-item-has-children.rotate > a {
		min-height: 48px;
		background: transparent;
		border-radius: 8px;
	}
	#main-menu > li.menu-item-has-children.rotate:before {
		right: 16px !important;
	}
		.main-navigation ul#main-menu > li.menu-item-has-children.rotate > ul.sub-menu {
			position: absolute !important;
			top: 56px;
		left: 0;
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 6px;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		z-index: 99999;
	}
	.main-navigation ul#main-menu > li.menu-item-has-children.rotate > ul.sub-menu > li {
		margin: 0 !important;
		padding: 0 !important;
	}
	.main-navigation ul#main-menu > li.menu-item-has-children.rotate > ul.sub-menu > li a {
		min-height: 40px;
		padding: 0 8px !important;
		border-radius: 8px;
		background: #ffffff;
		box-sizing: border-box;
		width: 100% !important;
		text-align: center;
		justify-content: center;
		line-height: 1.1 !important;
		white-space: normal;
		overflow: hidden;
	}
	.main-navigation ul#main-menu > li.menu-item-has-children.rotate > ul.sub-menu > li a:before {
		content: none !important;
		display: none !important;
	}
}

.tt-row--msg .tt-act,
.tt-row--route .tt-act {
	justify-content: center;
	text-align: center;
}

@media (max-width: 768px) {
	.price-page .tt-contacts,
	.contact-page .tt-contacts,
	.price-page .tt-route,
	.contact-page .tt-route {
		width: calc(100vw - 24px);
		max-width: 360px;
		margin-left: calc(50% - 50vw + 12px);
		margin-right: 0;
	}
	.price-page .tt-contacts {
		max-width: none;
	}
	.price-page .price-page__wrap > section:first-child {
		margin-bottom: 36px !important;
	}
	.price-page .price-page__wrap > section:nth-child(2) {
		margin-top: 36px !important;
	}
	.tt-row--msg {
		flex-wrap: nowrap;
		gap: 6px;
	}
	.tt-row--msg .tt-act {
		flex: 1 1 0;
		height: 42px;
		min-height: 42px;
		padding: 0 4px;
		gap: 4px;
		font-size: 12px;
	}
	.tt-row--msg .tt-act .tt-ico {
		width: 15px;
		height: 15px;
		flex: 0 0 15px;
	}
	.tt-row--msg .tt-act .tt-ico svg,
	.tt-row--msg .tt-act .tt-ico img {
		width: 15px;
		height: 15px;
	}
	.tt-row--route {
		grid-template-columns: 1fr;
	}
	.tt-row--route .tt-act {
		height: auto;
		min-height: 44px;
		padding: 9px 10px;
		line-height: 1.15;
		white-space: normal;
		overflow: visible;
	}
	.contact-page .elementor-top-section {
		margin-top: 16px !important;
		margin-bottom: 16px !important;
	}
	.contact-page section.tels.elementor-top-section {
		margin-top: 4px !important;
	}
	.contact-page section.contact {
		margin-top: 22px !important;
	}
	.contact-page .tt-route {
		padding: 12px;
	}
	.tt-route__title {
		font-size: 16px !important;
		line-height: 1.25 !important;
	}
	.tt-route__addr {
		font-size: 12.5px !important;
		line-height: 1.3 !important;
	}
	.contact-page .tt-route__map {
		margin-top: 10px;
	}
	.contact-page .tt-route__map iframe {
		height: 160px !important;
	}
	.contact-page .email {
		display: flex;
		justify-content: center;
		gap: 6px;
		width: 100%;
		font-size: clamp(14px, 4.3vw, 17px) !important;
		white-space: nowrap;
	}
	.contact-page .email img {
		width: 22px;
		height: 22px;
		flex: 0 0 22px;
		margin: 0;
	}
	.contact-page .wpcf7-form p:last-of-type {
		min-height: 0 !important;
		margin-bottom: 0 !important;
		line-height: 0 !important;
	}
	.contact-page .wpcf7-spinner {
		display: none !important;
		margin: 0 !important;
	}
	.contact-page .elementor-section-wrap.container {
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		margin-left: 12px !important;
		margin-right: 12px !important;
	}
	.contact-page .elementor-section-wrap > section,
	.contact-page .elementor-container,
	.contact-page .elementor-row,
	.contact-page .elementor-column,
	.contact-page .elementor-column-wrap,
	.contact-page .elementor-widget-wrap,
	.contact-page .elementor-widget-container,
	.contact-page .elementor-text-editor {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}
	.contact-page .elementor-section-wrap > section {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.contact-page .elementor-section-wrap > section.elementor-section.elementor-top-section {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.contact-page section.contact.elementor-top-section {
		margin-bottom: 0 !important;
	}
	.contact-page .tt-contacts,
	.contact-page .tt-route,
	.contact-page .tt-hours,
	.contact-page .email,
	.contact-page .form,
	.contact-page .wpcf7,
	.contact-page .wpcf7-form {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box;
	}
	.contact-page .tt-route__title,
	.contact-page .tt-route__addr span,
	.contact-page .tt-hours__label,
		.contact-page .tt-hours__value {
			overflow-wrap: anywhere;
			word-break: normal;
		}
		.contact-page .tt-contacts,
		.contact-page .tt-route,
		.contact-page .tt-hours,
		.contact-page .email,
		.contact-page .wpcf7 {
			position: relative;
			z-index: 100;
		}
		.page-template-template-contact .bazz-widget:not(.opened) {
			z-index: 50 !important;
		}
	}

	@media (max-width: 768px) {
		.bazz-widget:not(.opened) {
			width: 34px !important;
			height: 34px !important;
			left: calc(100vw - 42px) !important;
			bottom: 6px !important;
			border-radius: 50% !important;
		}
		.bazz-widget:not(.opened) .bazz-widget-button,
		.bazz-widget:not(.opened) .bazz-widget-button i:first-child {
			width: 34px !important;
			height: 34px !important;
			border-radius: 50% !important;
		}
		.bazz-widget:not(.opened) .bazz-widget-button i:first-child {
			background: #d1b11e url('/wp-content/plugins/bazz-callback-widget/images/trubka.png') no-repeat center center !important;
			background-size: 18px 18px !important;
		}
	.bazz-widget:not(.opened) .bazz-widget-inner-circle,
	.bazz-widget:not(.opened) .bazz-widget-inner-border {
		display: block !important;
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
				width: 34px !important;
				height: 34px !important;
		border-radius: 50% !important;
		pointer-events: none;
	}
	.bazz-widget:not(.opened) .bazz-widget-inner-circle {
		background-color: #d1b11e !important;
		opacity: .25;
		animation: tacho-bazz-pulse 1.8s ease-out infinite;
	}
	.bazz-widget:not(.opened) .bazz-widget-inner-border {
		border: 1px solid #d1b11e !important;
		opacity: .9;
		animation: tacho-bazz-ring 1.8s ease-out infinite;
	}
}

	@keyframes tacho-bazz-pulse {
		0% {
			transform: scale(1);
			opacity: .28;
		}
		70% {
			transform: scale(1.22);
			opacity: 0;
		}
		100% {
			transform: scale(1.22);
			opacity: 0;
		}
	}

@keyframes tacho-bazz-ring {
		0% {
			transform: scale(1);
			opacity: .85;
		}
		70% {
			transform: scale(1.16);
			opacity: 0;
		}
		100% {
			transform: scale(1.16);
			opacity: 0;
		}
	}

/* Final QA fixes: make the mobile sticky bar compact enough for Fold-width QA. */
@media (max-width: 767px) {
	.site-header {
		padding-top: calc(60px + env(safe-area-inset-top, 0px));
	}
	.site-header__wrap {
		display: none !important;
	}
	.tacho-mobile-sticky {
		padding: calc(env(safe-area-inset-top, 0px) + 4px) 8px 4px;
	}
	.tacho-mobile-sticky__bar {
		grid-template-columns: minmax(58px, 1fr) auto auto;
		gap: 6px;
		min-height: 44px;
		padding: 5px 6px;
	}
	.tacho-mobile-sticky__brand img {
		width: 76px;
	}
	.tacho-mobile-sticky__toggle,
	.tacho-mobile-sticky__call {
		min-width: 72px;
		height: 34px;
		padding: 0 8px;
		font-size: 11px;
	}
	.tacho-mobile-sticky__menu {
		max-height: calc(100vh - 58px - env(safe-area-inset-top, 0px));
		margin-top: 5px;
	}
	.tacho-mobile-sticky__menu a {
		min-height: 42px;
		padding: 0 12px;
		font-size: 13px;
	}
}
@media (max-width: 360px) {
	.tacho-mobile-sticky__brand img {
		width: 68px;
	}
	.tacho-mobile-sticky__toggle,
	.tacho-mobile-sticky__call {
		min-width: 64px;
		padding: 0 7px;
	}
}

/* Contacts page: approved compact revision. */
.page-template-template-contact .contact-page .contact-overview {
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr);
	align-items: start;
	gap: clamp(30px, 4vw, 56px);
	width: 100%;
}
.page-template-template-contact .contact-page .contact-overview__details {
	min-width: 0;
}
.page-template-template-contact .contact-page .contact-phone-list {
	display: grid;
	gap: 10px;
	width: 100%;
	max-width: 520px;
}
.page-template-template-contact .contact-page .contact-phone-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 48px 48px;
	gap: 8px;
}
.page-template-template-contact .contact-page .contact-phone-row__number,
.page-template-template-contact .contact-page .contact-phone-row__messenger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	border-radius: 6px;
	box-sizing: border-box;
	text-decoration: none !important;
}
.page-template-template-contact .contact-page .contact-phone-row__number {
	gap: 10px;
	padding: 0 16px;
	background: #ffffff;
	color: #303238 !important;
	font-size: 17px;
	font-weight: 700;
}
.page-template-template-contact .contact-page .contact-phone-row--primary .contact-phone-row__number {
	background: #ffce23;
}
.page-template-template-contact .contact-page .contact-phone-row__number:hover,
.page-template-template-contact .contact-page .contact-phone-row__number:focus-visible {
	background: #e6bf25;
	color: #25272b !important;
}
.page-template-template-contact .contact-page .contact-phone-row__messenger {
	background: #ffffff;
}
.page-template-template-contact .contact-page .contact-phone-row__messenger:hover,
.page-template-template-contact .contact-page .contact-phone-row__messenger:focus-visible {
	background: #e9ebee;
}
.page-template-template-contact .contact-page .contact-phone-row__messenger img {
	display: block;
	width: 24px;
	height: 24px;
}
.page-template-template-contact .contact-page .contact-overview__email {
	display: inline-flex;
	justify-content: flex-start;
	width: auto !important;
	max-width: 100% !important;
	margin-top: 16px !important;
	font-size: 16px !important;
	line-height: 1.35 !important;
	white-space: normal;
}
.page-template-template-contact .contact-page .contact-overview__email img {
	width: 21px;
	height: 21px;
	flex-basis: 21px;
}
.page-template-template-contact .contact-page .contact-gallery {
	position: relative;
	min-width: 0;
	overflow: hidden;
	border-radius: 8px;
	background: #292b2f;
	box-shadow: 0 10px 28px rgba(0, 0, 0, .24);
}
.page-template-template-contact .contact-page .contact-gallery:focus-visible {
	outline: 2px solid #ffce23;
	outline-offset: 3px;
}
.page-template-template-contact .contact-page .contact-gallery__viewport {
	position: relative;
	aspect-ratio: 16 / 9;
	width: 100%;
}
.page-template-template-contact .contact-page .contact-gallery__slide {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .28s ease, visibility .28s ease;
}
.page-template-template-contact .contact-page .contact-gallery__slide.is-active {
	opacity: 1;
	visibility: visible;
}
.page-template-template-contact .contact-page .contact-gallery__image {
	display: block;
	width: 100%;
	height: 100%;
}
.page-template-template-contact .contact-page .contact-gallery__image--contain {
	object-fit: contain;
}
.page-template-template-contact .contact-page .contact-gallery__image--cover {
	object-fit: cover;
}
.page-template-template-contact .contact-page .contact-gallery__arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	min-width: 42px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .92);
	color: #303238;
	font-size: 34px;
	line-height: 1;
	transform: translateY(-50%);
	cursor: pointer;
}
.page-template-template-contact .contact-page .contact-gallery__arrow:hover,
.page-template-template-contact .contact-page .contact-gallery__arrow:focus-visible {
	background: #ffce23;
	color: #303238;
}
.page-template-template-contact .contact-page .contact-gallery__arrow--prev {
	left: 12px;
}
.page-template-template-contact .contact-page .contact-gallery__arrow--next {
	right: 12px;
}
.page-template-template-contact .contact-page .contact-gallery__dots {
	position: absolute;
	right: 0;
	bottom: 10px;
	left: 0;
	z-index: 2;
	display: flex;
	justify-content: center;
	gap: 0;
}
.page-template-template-contact .contact-page .contact-gallery__dots button {
	position: relative;
	width: 24px;
	height: 24px;
	min-width: 24px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}
.page-template-template-contact .contact-page .contact-gallery__dots button::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	border: 1px solid rgba(255, 255, 255, .9);
	border-radius: 50%;
	background: rgba(34, 36, 40, .62);
	transform: translate(-50%, -50%);
}
.page-template-template-contact .contact-page .contact-gallery__dots button[aria-current="true"]::before {
	border-color: #ffce23;
	background: #ffce23;
}
.page-template-template-contact .contact-page .tt-hours {
	width: 50% !important;
	max-width: 600px !important;
}
.page-template-template-contact .contact-page .tt-hours__label {
	padding-left: 0;
}
.page-template-template-contact .contact-page .tt-hours__value {
	padding-right: 0;
	color: #ffffff;
	font-weight: 700;
}
.page-template-template-contact .contact-page .contact.elementor-top-section {
	margin-top: 38px !important;
}
.page-template-template-contact .contact-page .contact .elementor-row.grid-2 {
	gap: 28px;
}
.page-template-template-contact .contact-page .tt-route__map iframe {
	height: 310px !important;
}
.page-template-template-contact .contact-page .wpcf7-form textarea {
	height: 138px !important;
	min-height: 138px !important;
	resize: vertical;
}
.page-template-template-contact .contact-page .wpcf7-form-control.wpcf7-submit {
	font-size: 14px !important;
	font-weight: 700;
	letter-spacing: 0;
	color: #303238 !important;
}
.page-template-template-contact .contact-page .wpcf7-form-control.wpcf7-submit:hover,
.page-template-template-contact .contact-page .wpcf7-form-control.wpcf7-submit:focus-visible {
	background: #e6bf25 !important;
	color: #25272b !important;
}
.page-template-template-contact .bazz-widget {
	display: none !important;
}

@media (max-width: 768px) {
	.page-template-template-contact .contact-page .contact-overview {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}
	.page-template-template-contact .contact-page .contact-phone-list {
		max-width: none;
	}
	.page-template-template-contact .contact-page .contact-phone-row {
		grid-template-columns: minmax(0, 1fr) 46px 46px;
		gap: 7px;
	}
	.page-template-template-contact .contact-page .contact-phone-row__number,
	.page-template-template-contact .contact-page .contact-phone-row__messenger {
		min-height: 46px;
	}
	.page-template-template-contact .contact-page .contact-phone-row__number {
		padding: 0 10px;
		font-size: 15px;
	}
	.page-template-template-contact .contact-page .contact-overview__email {
		justify-content: flex-start;
		margin-top: 13px !important;
		font-size: 14px !important;
	}
	.page-template-template-contact .contact-page .contact-gallery__arrow {
		width: 44px;
		height: 44px;
		min-width: 44px;
		font-size: 30px;
	}
	.page-template-template-contact .contact-page .contact-gallery__arrow--prev {
		left: 8px;
	}
	.page-template-template-contact .contact-page .contact-gallery__arrow--next {
		right: 8px;
	}
	.page-template-template-contact .contact-page .tt-hours {
		width: 100% !important;
		max-width: none !important;
	}
	.page-template-template-contact .contact-page .contact .elementor-row.grid-2 {
		gap: 24px;
	}
	.page-template-template-contact .contact-page .tt-route__map iframe {
		height: 240px !important;
	}
	.page-template-template-contact .contact-page .wpcf7-form textarea {
		height: 124px !important;
		min-height: 124px !important;
	}
}

/* Contacts: keep the desktop blocks on one shared two-column grid. */
@media (min-width: 769px) {
	.page-template-template-contact .contact-page .contact-overview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: stretch;
		gap: 28px;
	}
	.page-template-template-contact .contact-page .contact-phone-list {
		max-width: none;
	}
	.page-template-template-contact .contact-page .contact-gallery {
		align-self: stretch;
		margin-top: 4px;
	}
	.page-template-template-contact .contact-page .contact-gallery__viewport {
		height: 100%;
		aspect-ratio: auto;
	}
	.page-template-template-contact .contact-page section.tels.elementor-top-section {
		margin-bottom: 20px !important;
	}
	.page-template-template-contact .contact-page .elementor-section-wrap > section:nth-of-type(2) {
		margin-top: 20px !important;
		margin-bottom: 24px !important;
	}
	.page-template-template-contact .contact-page .tt-hours {
		width: calc((100% - 28px) / 2) !important;
		max-width: none !important;
	}
	.page-template-template-contact .contact-page .tt-hours__row {
		gap: 12px;
		padding-right: 12px;
		padding-left: 12px;
	}
	.page-template-template-contact .contact-page .contact.elementor-top-section {
		margin-top: 32px !important;
	}
	.page-template-template-contact .contact-page .contact .elementor-row.grid-2 {
		align-items: start;
	}
	.page-template-template-contact .contact-page .contact .tt-route {
		width: 100%;
		max-width: none;
		margin-top: 0;
	}
	.page-template-template-contact .contact-page .tt-route__map iframe {
		height: 290px !important;
	}
}

@media (min-width: 769px) and (max-width: 1100px) {
	.page-template-template-contact .contact-page section.contact h2 {
		font-size: 26px !important;
		letter-spacing: 0;
	}
	.page-template-template-contact .contact-page .tt-route__map iframe {
		height: 284px !important;
	}
}

/* Align the route card with the visible heading glyphs, not its line box. */
@media (min-width: 992px) {
	.page-template-template-contact .contact-page .contact .tt-route {
		margin-top: 9px;
	}
	.page-template-template-contact .contact-page .tt-route__map iframe {
		height: 281px !important;
	}
}

@media (min-width: 992px) and (max-width: 1100px) {
	.page-template-template-contact .contact-page .contact .tt-route {
		margin-top: 8px;
	}
	.page-template-template-contact .contact-page .tt-route__map iframe {
		height: 276px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.page-template-template-contact .contact-page .contact-gallery__slide {
		transition: none;
	}
}
