body {
	min-width: 375px;
}
.small_form .form p{
    width: 80%;
}
.small_form .form p > span {
    width: 100%;
}
.container.brand_description {
    margin-bottom: 100px;
}
.crypt_error {
    position: absolute;
    left: 50%;
    transform: translate(-50%);
}
.crypt_error p{
    text-align: center;
    color: darkred;
    font-weight: bold;
    font-size: 12px;
}
.wpcf7 input[type="submit"] {
    padding: 10px 18px !important;
}
input[type=tel].error {
    border-color: red !important;
}

.woocommerce_single_product .single-product .entry-summary .sku_wrapper span.outofstock {
    display: inline-block;
    margin: 0 15px;
    font-size: 12px;
    color: #fff;
    background: darkred;
    padding: 4px 15px;
    border-radius: 5px;
    line-height: 1.7;
}
.products_section {
    margin-top: 35px;
}
.tab-content .row {
    flex-direction: column;
}
@media (max-width: 1400px) {
    .tab-content .row {
        flex-direction: inherit;
    }
}
.wpcf7-form-control[type=text],.wpcf7-form-control[type=tel] ,.wpcf7-form-control[type=email] ,textarea.wpcf7-form-control  {
    border-bottom: 1px solid #ddd !important;
    border-radius: 0 !important;
    background: #eaeaea !important;
}
.wpcf7-form-control.wpcf7-not-valid {
    border-bottom: 1px solid red !important;
    border-radius: 0 !important;

}
#post-6011 form .wpcf7-form-control-wrap {
    width: 100% !important;
}
.wpcf7 .wpcf7-not-valid-tip {
    border: none !important;
    line-height: 1;
    font-size: 12px;
    background: transparent !important;
    top: 40px !important;
    margin-left: -19px;
}
.form_submit {
    display: flex;
}
#post-6011 form {
    display: flex;
    flex-wrap: wrap;
}
#post-6011 form > * {
    width: calc(100%/2 - 30px);
    margin: 0 15px;
}
#post-6011 form p:nth-child(9),#post-6011 form p:nth-child(8),#post-6011 form p:nth-child(7),#post-6011 form .wpcf7-response-output {
    width: 100%;
}
#post-6011 form p label {
    width: 100%;

}
:where(.wp-block-file__button):is(a):visited {
    color: #4f9ad0 !important;
}
.text_field_registration * {
    color: #808696 !important;
}

@media (max-width: 612px) {
    #post-6011 form > * {
        width: 100%;
    }
}

.woocommerce-customer-details {
    max-width: 100% !important;
}
.woocommerce .woocommerce-customer-details address {
    padding: 25px 0 !important;
}
.woocommerce-order-details {
    max-width: 100% !important;
}
.woocommerce-order .justify-content-between {
    flex-wrap: wrap;
}
.woocommerce_row:nth-child(2n+2)  {
    background: #EAECEE;
}
.woocommerce_row {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    padding: 4px 16px;
    margin: 0 -16px;
}
.woocommerce_row p {
    line-height: 1.4;
    margin-right: 15px;
}
.order_row {
    height: auto !important;
}
@media (max-width: 560px) {
    .woocommerce-order .container,.woocommerce_row {
        margin: 0;
        padding: 0;
        width: 100%;
        max-width: 100%;
    }
    .woocommerce_row {
        margin-bottom: 15px;
    }
}
.post-type-archive-services .justify-content-start {
    justify-content: space-between !important;
}
.post-type-archive-services .justify-content-start > div {
    width: calc(100%/3 - 30px);
    max-width: calc(100%/3 - 30px);
    margin: 0 15px;
    flex: unset;
    min-width: 255px;
}
@media (max-width: 891px) {
    .post-type-archive-services .justify-content-start > div {
        width: calc(100%/2 - 30px);
        max-width: calc(100%/2 - 30px);

    }
    .block_service {
        min-height: unset;
    }
}
@media (max-width: 605px) {
    .post-type-archive-services .justify-content-start > div {
        width: calc(100%/1 - 30px);
        max-width: calc(100%/1 - 30px);

    }
}
.cart_data {
    position: relative;
}
.cart_data span {
    position: absolute;
    top: -5px;
    right: 6px;
    border: 1px solid #999;
    color: #999;
    font-size: 10px;
    border-radius: 50%;
    width: 15px;
    height: 15px;
    text-align: center;
    line-height: 1.1;
    font-weight: bold;
}
#on_top_page {
    display: none;
    position: fixed;
    bottom: 86px;
    right: 25px;
    background: rgb(204, 204, 204);
    cursor: pointer;
    background: #989797 url(/wp-content/uploads/2021/02/arrow_white.png) center center no-repeat;
    transform: rotate(-90deg);
    width: 45px;
    height: 45px;
    transition: all 0.25s;
    z-index: 2;
}
#on_top_page:hover {
    background: #CCCCCCFF url(/wp-content/uploads/2021/02/arrow_white.png) center center no-repeat;
}
.home .wpcf7 input[type="submit"] {
    padding: 0 !important;
    background-repeat: no-repeat !important;
    background-size: auto !important;
    background-position: center !important;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADeSURBVHgBrZQBEYQgEEU3wkUwghGMcBFocDbQCDQwgtfACEYgghH+sQPOIbPK3smbYUbY9YEsSFQBAI1vk2+O7uAFD98GfPlPmIg2HFlqiXbsXdGU9XuN7CWIuP/kPcvGuyuREV5AHOtOYq0k4uQFMkv8fDH+i4ixMW84ia9aETMWZMx7F24XSRwzycRX2PRIGGGVDnGTEa6WKwiNVJAmymd+TiYsyZiONPjEHjoeGlmbrXw9kW2kAWFfHcIVS+V9Jtf9FHAsVCPEWW6hucOZcKQaIFR7plogHJly9RI+d8cH1WeT02UAAAAASUVORK5CYII=) !important;
}
.home .small_form .form .small_cf7_submit:before {
    all: unset;
}
.home .product_block .title_block p.product_title {
    font-size: 16px;
    max-height: 68px;
    overflow: hidden;
    min-height: 68px;
}
.home .product_block .prod_desc p {
    min-height: 48px;
}
.original_price {
    margin-right: 10px;
    text-decoration: line-through;
    color: red;
    font-size: 16px;
    font-family: "Roboto", sans-serif;
}

.woocommerce_single_product .single-product span.onsale {
    display: inline-block;
    padding: 3px 10px;
    background: #ffdbdb;
    border-radius: 13px 0;
    position: absolute;
    top: 15px;
    right: 20px;
    left: auto;
    font-size: 12px;
    color: #fc7586;
    min-height: 1em;
    min-width: 3em;
    width: 45px;
    height: 30px;
    line-height: 2;
}

/*Faq*/
.section_question_answer {
    margin-top: 25px;
}
.section_question_answer  h2 {
    font-size: 37px;
    font-weight: bold;
    color: #444;
    text-transform: uppercase;
    text-align: center;
    margin: 55px 0;
}
.container.question_answer {
    padding:35px 15px;
}
.container.question_answer > li {
    list-style: none;
    background: #ededed;
    padding: 12px;
    margin: 17px 0;
    cursor: pointer;
    font-size: 21px;
    transition: all 0.3s ease-in-out;
    position: relative;
}
.container.question_answer > li span {
    padding-right: 50px;
    display: inline-block;
}
.container.question_answer i {
    position: absolute;
    right: 15px;
    top: 15px;
    color: #444;
    transition: all 0.3s ease-in-out;
}
.container.question_answer li.visible i {
    transform: rotate(180deg);
}
.container.question_answer > li:hover,.container.question_answer li.visible {
    background: #d5d5d5;
}
.section_question_answer .faq__answer {
    background: #f9f9f9;
    margin: 10px -12px -15px -12px;
    padding: 15px;
    color: #444;
    font-size:16px;
}
/*Faq*/

.filter_price label {
    display: none;
}
.woof_price_filter_txt:nth-child(2) {
    order: 1;
}
.woof_price_filter_txt:nth-child(4) {
    order: 3;
}
.woof_price_filter_txt_slider:after {
    order: 4;
}
.woof_price_filter_txt_slider:before {
    order: 2;
}

@media (max-width: 585px) {
    #post-199 .woocommerce .container,
    #post-200 .woocommerce .container {
        max-width: 100%;
        padding: 0;
    }
    #post-200 #ship-to-different-address {
        margin: 0 20px;
        font-size: 20px;
    }
    #post-200 .woocommerce form .form-row {
        width: 100%!important;
    }
}
.woocommerce-shipping-fields {
    background: rgba(248,251,255,0.8);
    -webkit-box-shadow: 0 20px 30px rgba(125,138,159,0.2);
    box-shadow: 0 20px 30px rgba(125,138,159,0.2);
    max-width: 517px;
    padding: 20px 40px;
    margin: auto;
    margin-bottom: 40px;
}

.woocommerce-billing-fields__field-wrapper p#billing_nova_poshta_region_field,
.woocommerce-billing-fields__field-wrapper p#billing_nova_poshta_city_field,
.woocommerce-billing-fields__field-wrapper p#billing_callback_field {
    width: 100% !important;
}
#billing_callback_field .optional {
    display: none;
}
.woocommerce-billing-fields label.screen-reader-text,
.woocommerce-shipping-fields label.screen-reader-text {
    clip: unset!important;
    word-wrap: normal!important;
    border: unset!important;
    -webkit-clip-path: unset;
    clip-path: unset!important;
    height: auto!important;
    margin: unset!important;
    overflow: hidden!important;
    padding: unset!important;
    position: unset!important;
    width: auto!important;
}
.woocommerce-shipping-fields #shipping_country_field {
    display: none;
}
#shipping_nova_poshta_region_field,
#shipping_nova_poshta_city_field,
#shipping_nova_poshta_warehouse_field {
    width: 100%;
}
#shipping_email_field {
    width: 47%;
    float: left;
}
#shipping_phone_field {
    clear: none;
    width: 47%;
    float: right;
}
#shipping_phone_field label {
    margin: 0;
}
#shipping_email_field .optional,
#shipping_phone_field .optional {
    display: none;
}
@media (max-width: 585px) {
    .woocommerce-cart-form__cart-item.cart_item {
        padding-top: 25px;
    }
}
.loop-btn {
    margin: 0 10px 8px 10px;
}

/*New*/
.entry-content p,
.entry-content li,
.entry-content ul
{
    margin: 15px 0;
    line-height: 1.5;
}
h1, .h1 {
    font-style: normal;
    font-weight: 900;
    font-size: 40px;
    line-height: 40px;
    color: #000D2E;
    margin-bottom: 4px;
}
h2, .h2 {
    font-style: normal;
    font-weight: bold;
    font-size: 30px;
    line-height: 30px;
    color: #000D2E;
    text-align: center;
}
h3 {
    font-weight: bold;
    font-size: 25px;
    line-height: 30px;
    color: #000000;}
h4 {}
h5 {}
h6 {
    font-style: normal;
    font-weight: bold;
    font-size: 20px;
    line-height: 23px;
    color: #000000;
}
.single article p {
    line-height: 2;
}
/*New*/

.btn_carousel {
    left: -42px;
}

/*Modal*/
.crypt-modal-window {
    background: rgba(0,0,0,0.85);
}
.crypt-modal-window .modal-dialog {
    transform: translateY(50%) !important;
}
.crypt-modal-window .modal-content {
    padding: 25px 40px;
}
.crypt-modal-window .modal-content p {
    position: relative;
}
.crypt-modal-window .modal-content .title {
    color: #4F9AD0;
    font-size: 21px;
    margin-bottom: 15px;
    font-weight: bold;
}
.crypt-modal-window .close_modal {
    position: absolute;
    top: -1px;
    right: -1px;
    background: #444;
    color: #fff;
    padding: 4px 20px;
    font-size: 24px;
    border-radius: 0 0.3rem 0 0;
    cursor: pointer;
}
.crypt-modal-window .wpcf7 .wpcf7-form-control-wrap {
    width: 100%;
    margin-bottom: 25px;
}
.crypt-modal-window .wpcf7 .wpcf7-form-control-wrap input {
    border-bottom: 1px transparent;
}
.crypt-modal-window .wpcf7 input[type="submit"]{
    min-width: 151px;
    margin-left: auto;
    background-position: 10px center !important;
    padding-left: 15px !important;
}
.crypt-modal-window .wpcf7 form .wpcf7-response-output {
    margin: 15px 0 0 0;
    border-style: dashed;
    border-radius: 0;
}
.wpcf7-spinner {
    position: absolute;
    top: 10px;
}
/*Modal*/

/*Footer*/
.footer_block .link_block a {
    margin-bottom: 8px;
    color: #4F9AD0;
    font-size: 16px;
}
.footer_block .col_2_block,.footer_block .representative {
    margin-bottom: 15px;
}
.footer_block p {
    font-size: 14px;
    line-height: 1.42;
}
footer {
    padding: 44px 0 15px 0;
}
.crypt_flex .footer_block {
    display: flex;
    margin: 0 -8px;
}
.crypt_flex .footer_block > div {
    margin: 0 8px;
    width: calc(100%/3 - 16px);
}
.crypt_flex h6 {
    text-align: left;
}
@media (max-width: 1470px) {
    footer .site-branding {
        display: none;
    }
}
@media (max-width: 896px) {
    .crypt_flex .footer_block > div {
        width: 100%;
        text-align: left;
        align-items: flex-start;
    }
    .crypt_flex > div {
        width: 50%;
        float: left;

    }
    .crypt_flex .footer_block {
        flex-direction: column;
    }
}
@media (max-width: 445px) {
    .crypt_flex > div {
        width: 100%;
    }
}
/*Footer*/
.wp-block-button {
    text-align: center;
}

.woocommerce_single_product .single-product .entry-summary .cart .quantity{
    display: flex !important;
    align-items: center;
    visibility: visible !important;
    height: 50px !important;
    width: 110px !important;
    font-size: 16px !important;
    margin-right: 15px !important;
    visibility: visible;
}

.woocommerce_single_product .single-product .entry-summary .cart .quantity input {
    width: 50px;
    height: 50px;
    text-align: center;
    background: rgba(134,134,134,0.1);
    border: none !important;
    font-weight: normal;
    font-size: 24px;
    line-height: 28px;
    border-radius: 10px !important;
    color: #000D2E;
}

.woocommerce_single_product .single-product .entry-summary .cart .quantity ::-webkit-outer-spin-button,
.woocommerce_single_product .single-product .entry-summary .cart .quantity ::-webkit-inner-spin-button,
.woocommerce .shop_table .qty::-webkit-outer-spin-button,
.woocommerce .shop_table .qty::-webkit-inner-spin-button {
    display: none;
}
.cart_item .quantity {
    display: flex;
    align-items: center;
}
.woocommerce-cart-form__cart-item .product-quantity .quantity .qty {
    width: 60px !important;
}
.plus, .minus {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 24px;
    height: 24px;
    border: 1px solid #ccd6dd;
    border-radius: 24px;
    background-color: #fff;
}
.minus {
    font-size: 22px;
    margin-right: 5px;
}
.plus {
    font-size: 24px;
    margin-left: 5px;
}
.mb-100 {
    margin-bottom: 100px;
}
.mb-50 {
    margin-bottom: 50px;
}

@media screen and (max-width: 1170px) {
    .woof_price_filter_txt_slider {
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
    }
    .woof_price_filter_txt_slider:before {
        margin-right: 20px !important;
    }
}

/*<!--Crypt -->*/
.filter_cat {
    display: none;
}

.crypt_filter_button {
    text-align: center;
    margin: 15px 0;
}
.crypt_filter_button button {
    border: 1px solid #f3f3f3;
    padding: 5px 20px;
    background: #4F9AD0;
    color: #fff;
    font-weight: bold;
    transition: all 0.25s;
}
.crypt_filter_button button.active {
    background: #777;
}
/*<!--Crypt -->*/

/*Crypt 12_10_2023*/
.product_block {
    background: #fff;
}
.main_catalog.products_block > div {
    display: flex;
}
.main_catalog.products_block .product_block {
    margin: 0;
    padding-bottom: 65px;
}
.main_catalog .product_block .btn_blue {
    position: absolute;
    bottom: 15px;
    width: 90%;
    margin-bottom: 10px;
}
.main_catalog .product_block .content .title_block {
    flex-direction: column-reverse;
}
.main_catalog .product_block .title_block p.product_title {
    width: 100% !important;
    font-size: 18px !important;
}
.main_catalog .product_block .title_block .product_category {
    margin-bottom: 10px;
}
.main_catalog .product_block .content .title_block .cat_item {
    width: 50%;
    margin-left: auto;
}
.woorelated_category .product_block {
    min-height: 555px;
}
.related_products_section {
    min-height: 555px;
}

/*Catalog blocks*/
.archive .products_block > div {
    display: flex;
}
.archive .products_block .product_block {
    margin: 0;
    padding-bottom: 65px;
}
.archive .product_block .btn_blue {
    position: absolute;
    bottom: 15px;
    width: 90%;
    margin-bottom: 10px;
}
.archive .product_block .content .title_block {
    flex-direction: column-reverse;
}
.archive .product_block .title_block p.product_title {
    width: 100% !important;
    font-size: 18px !important;
}
.archive .product_block .title_block .product_category {
    margin-bottom: 10px;
}
.archive .product_block .content .title_block .cat_item {
    width: 50%;
    margin-left: auto;
}

/*Single products blocks*/
.single-product .products_block > div {
    display: flex;
}
.single-product .products_block .product_block {
    margin: 0;
    padding-bottom: 65px;
}
.single-product .product_block .btn_blue {
    position: absolute;
    bottom: 15px;
    width: 90%;
    margin-bottom: 10px;
}
.single-product .product_block .content .title_block {
    flex-direction: column-reverse;
}
.single-product .product_block .title_block p.product_title {
    width: 100% !important;
    font-size: 18px !important;
}
.single-product .product_block .title_block .product_category {
    margin-bottom: 10px;
}
.single-product .product_block .content .title_block .cat_item {
    width: 50%;
    margin-left: auto;
}
.woocommerce_single_product .single-product .related .product_block {
    min-height: 585px;
}

/*Home tabs*/
.home .product_block {
    width: 100% !important;
    min-height: 555px;
}
.home .tab_field .tab-1 {
    height: 615px;
}
/*Crypt 12_10_2023*/

/*Crypt 16_10_2023*/
.archive .container.question_answer {
    padding-top: 0;
}
.archive .section_question_answer {
    margin-top: -100px;
}
/*Crypt 16_10_2023*/

/*Crypt 06_05_2023*/
.home .wp-block-button__link {
    margin: 35px auto;
}
/*Crypt 06_05_2023*/

/*22.04.2024 Crypt*/
.grid_image_block_grid_wrapper {
    margin-top: 25px;
    display: flex;
    flex-wrap: wrap;
}
.grid_image_block_grid {
    width: calc(100% / 3 - 30px);
    margin: 0 15px 45px;
}

.grid_image_block {
    text-align: center;
}
.grid_image_block:hover img {
    transform: scale(1.1);
}
.grid_image_block h3 {
    margin-top: 25px;
}
.grid_image_block img {
    width: auto;
    max-height: 165px;
    margin: 0 auto;
    transition: all 0.55s;
}
@media (max-width: 767px) {
    .grid_image_block_grid {
        width: calc(100% / 2 - 30px);
    }
}
@media (max-width: 467px) {
    .grid_image_block_grid {
        width: calc(100% / 1 - 30px);
    }
}
/*22.04.2024 Crypt*/

/*15.04.2024 Crypt*/
.woocommerce-checkout-review-order .woocommerce-checkout-review-order-table .product-price-crypt{
    font-weight: normal;
    font-size: 16px;
    line-height: 19px;
    color: #808696;
}
.crypt-order-row {
    margin: 0;
    padding: 0;
}
.woocommerce_row_crypt {
    margin: 0;
}
.woocommerce_row_crypt {
    padding-top: 15px;
    padding-bottom: 15px;
}
@media (max-width: 991px) {
    .woocommerce_row_crypt {
        flex-direction: column;
    }
    .woocommerce_row_crypt p {
        display: flex;
        justify-content: center;
    }
}
#products_viewed_section .product_block {
    min-height: 585px;
    margin-bottom: 20px;
}
#products_viewed_section .slick-track {
    width: 100%;
}
#products_viewed_section .col-md-x {
    padding-right: 15px;
    padding-left: 15px;
}
#products_viewed_section .slider-crypt {
    flex-direction: column;
}
#products_viewed_section .product_block {
    border-radius: 10px;
    overflow: hidden;
    -webkit-box-shadow: 0 10px 15px rgba(125,138,159,0.1);
    box-shadow: 0 10px 15px rgba(125,138,159,0.1);
    border: 1px solid #F5F5F5;
    margin-bottom: 20px;
    position: relative;
    height: 100%;
    width: 100% !important;
}
/*15.04.2024 Crypt*/

/*18.04.2024 Crypt*/
.a_link {
    cursor: pointer;
    color: #0d95e8;
}
/*18.04.2024 Crypt*/


/*10.06.2024 Crypt*/
.top_block_section {
    padding-top: 0;
}
.top_block_section .slider_top_block {
    position: relative;
}

.top_block_section .slick-prev, .top_block_section .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 95%;
    display: block;
    width: 35px;
    height: 35px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: #444;
    z-index: 2;
}
.top_block_section .slick-prev:before,.top_block_section  .slick-next:before {
    font-family: 'slick';
    font-size: 20px;
    line-height: 0.3;
    opacity: .75;
    color: white;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.top_block_section .slick-next:before {
    content: '>';
}
.top_block_section .slick-prev:before {
    content: '<';
}
.top_block_section .slick-next {
    right: 125px;
}
.top_block_section .slick-prev {
    left: 125px;
}
@media (max-width: 1300px) {
    .top_block_section .slick-next {
        right: 0px;
    }
    .top_block_section .slick-prev {
        left: 0px;
    }
}

.top_block_section .slick-dotted.slick-slider
{
    margin-bottom: 30px;
}

.top_block_section .slick-dots {
    position: absolute;
    bottom: 15px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}

.top_block_section .slick-dots li
{
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}
.top_block_section .slick-dots li button
{
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.top_block_section .slick-dots li button:hover,
.top_block_section .slick-dots li button:focus
{
    outline: none;
}
.top_block_section .slick-dots li button:hover:before,
.top_block_section .slick-dots li button:focus:before
{
    opacity: 1;
}
.top_block_section .slick-dots li button:before
{
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    text-align: center;
    opacity: .25;
    color: black;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.top_block_section .slick-dots li.slick-active button:before
{
    opacity: .75;
    color: black;
}

.top_block_section .slider_top_block_text_one,.top_block_section .slider_top_block_text_two {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}
.top_block_section .slider_top_block_text_one {
    top: calc(50% - 125px);
}
.top_block_section .slider_top_block_text_two {
    top: calc(50% + 150px);
}
@media (max-width: 767px) {
    .top_block_section .slider_top_block_text_one {
        top: calc(50% - 160px);
    }    
    .top_block_section .slider_top_block_text_two {
        top: auto;
        bottom:  60px;
    }
}
/*10.06.2024 Crypt*/

/*4.07.02024 Crypt*/
li.product_cat {
    list-style: none;
    font-weight: bold;
    font-size: 20px;
    line-height: 23px;
    color: #000D2E;
}
li.product_cat * {
    line-height: 1;
}
li.product_cat li:has(ul.children) > .category_link a:after {
    display: inline-block;
    content: '( + )';
    margin-left: 3px;
    color: #808696;
    font-weight: normal;
}
li.product_cat > ul {
    margin-top: 15px;
}
li.product_cat li {
    font-weight: normal;
    font-size: 12px;
    width: 100%;
    margin-bottom: 12px;
    color: #808696;
}
li.product_cat li a {
    font-size: 14px;
}
li.current-cat > ul.children , li.current-cat-parent > ul.children , li.current-cat-ancestor > ul.children {
    display: flex;
    line-height: 18px;
}
ul.children {
    display: none;
    width: 100%;
    flex-wrap: wrap;
    padding-left: 15px;
    margin: 20px auto 5px auto;
}
li.cat-item {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
li.current-cat > .category_link a,li.current-cat-parent > .category_link a, li.current-cat-ancestor > .category_link a,li.current-cat > a{
    font-weight: bold;
}
.category_link {
    width: 85%;
}
/*4.07.02024 Crypt*/

/*16.08.2024 Crypt*/
.section_page {
    margin-top: 40px;
}
.section_page .row > div {
    margin-bottom: 5px;
}
.section_page h1 {
    text-align: left;
    margin-bottom: 20px;
    font-size: 40px;
    font-weight: bold;
}
.section_page h2 {
    font-size: 20px;
}
.section_page .block_promotions {
    background: #fff;
    padding: 5px;
    box-shadow: 1px 2px 4px rgba(0,0,0,0.15);
}
.section_page .promotions-description {
    padding: 15px;
}
.section_page .promotions-description p {
    line-height: 1.44;
    font-size: 15px;
}
.single-promotions #primary .container {
    margin-top: 40px;
}
.single-promotions #primary h1 {
    text-align: left;
    margin-bottom: 20px;
    font-size: 40px;
    font-weight: bold;
}
.single-promotions #primary .promotion_content {
    display: flex;
}
.single-promotions #primary .promotion_content .promotion_decription {
    margin-left: 25px;
}
.promotion_button_wrapper {
    text-align: center;
    padding: 15px 0;
}
.promotion_button {
    padding: 15px 26px 14px 26px;
    background: #4F9AD0;
    -webkit-box-shadow: 0 10px 15px rgba(125,138,159,0.05);
    box-shadow: 0 10px 15px rgba(125,138,159,0.05);
    border-radius: 50px;
    color: #fff !important;
    font-size: 18px;
    display: inline-block;
    line-height: 21px;
    width: auto;
    outline: none !important;
}
.section_page .nav-links {
    margin: 25px auto;
}
.main_promo_block {
    display: flex;
    flex-direction: column;
}
.main_promo_block img{
    width: 100%;
}
@media (max-width: 781px) {
    .single-promotions #primary .promotion_content {
        display: flex;
        flex-direction: column;
    }
    .single-promotions #primary .promotion_content .promotion_decription {
        margin-top: 25px;
        margin-left: 0;
    }
}
.promo_section .slick-dots {
    margin: auto;
}
/*16.08.2024 Crypt*/

/*6.09.2024 Crypt*/
.woocommerce table.shop_table_responsive tr td.no_before::before {
    content: '';
}
.woocommerce table.shop_table_responsive tr td.no_before {
    text-align: center !important;
}
/*6.09.2024 Crypt*/

/*18.09.2024 Crypt*/
.title_promotionss h2 {
    font-size: 28px;
    text-align: left;
    margin: 15px 0;
    min-height: 120px;
}
.main_promo_block img {
    min-height: 250px;
}
.description_promotionss {
    min-height: 125px;
}
/*18.09.2024 Crypt*/

/*17.10.2024 Crypt*/
.paged section.banner_section {
    margin-bottom: 0;
}
/*17.10.2024 Crypt*/


/*11.11.Crypt*/
.crypt_image_thumb {
    display: flex;
    flex-wrap: wrap;
    margin-top: 25px;
}
.woocommerce_single_product .single-product .crypt_image_thumb .woocommerce-product-gallery__image {
    margin: 0 10px;
    width: calc(100%/3 - 20px) !important;
    height: 135px;
    background: #fff;
    margin-bottom: 10px;
}
.woocommerce_single_product .single-product .crypt_image_thumb .woocommerce-product-gallery__image img {
    height: 100%;
}

.crypt_product_contacts {
    clear: both;
    margin: 25px 0 35px 0;
}
.crypt_product_contacts_wrapper {
    display: flex;
    background: #E3EFFF;
    padding: 25px 35px;
    color: #444;
    border-radius: 5px;
    align-items: center;
}
.crypt_product_contacts_title {
    font-size: 20px;
    text-transform: uppercase;
    font-weight:  bold;
}
.crypt_product_contacts_wrapper > div {
    width: calc(100%/3);
    margin: 0 15px;
    border-right: 1px solid #ccc;
    padding: 0 25px;
}
.crypt_product_contacts_wrapper .crypt_product_contacts_elem {
    text-align: center;
}
.crypt_product_contacts_wrapper > div:nth-child(1) {
    min-width: 35%;
    padding: 0;
}
.crypt_product_contacts_wrapper > div:nth-child(1),.crypt_product_contacts_wrapper > div:nth-child(4),.crypt_product_contacts_wrapper > div:last-child {
    border-right: 1px solid transparent;
}
.crypt_product_contacts_elem_phone a {
    font-weight: bold;
}
@media (max-width: 1180px) {
    .crypt_product_contacts_wrapper > div:nth-child(1) {
        min-width: 30%;
    }
    .crypt_product_contacts_title {
        font-size: 16px;
    }
    .crypt_product_contacts_wrapper > div {
        padding: 0;
    }
}
@media (max-width: 946px) {
    .crypt_product_contacts_wrapper > div {
        width: calc(100% / 3 - 30px);
        padding: 0 40px;
    }
    .crypt_product_contacts_wrapper {
        flex-wrap: wrap;
    }
    .crypt_product_contacts_title {

        font-size: 18px;
    }
    .crypt_product_contacts_wrapper > div:nth-child(1) {
        width: 100%;
        margin-bottom: 15px;
    }

}
@media (max-width: 886px) {
    .crypt_product_contacts_wrapper > div {
        padding: 0;
    }
}
@media (max-width: 625px) {
    .crypt_product_contacts_wrapper > div {
        width: 100%;
        border-right: none;
        margin-bottom: 15px;
    }
    .crypt_product_contacts_wrapper .crypt_product_contacts_elem {
        text-align: left;
    }
}
.woocommerce_single_product .single-product .entry-summary .product_title {
    border-bottom: 1px solid #ccc;
    padding-bottom: 20px;
}
.crypt_product_meta_row {
    display: flex;
    margin: 0 -15px 20px -15px;
    justify-content: space-between;
    width: 100%;
    font-size: 14px;
}
.crypt_product_meta_row_label {
    color: #444;
    font-weight: bold;
    text-transform: uppercase;
}
.crypt_product_meta_row_value {
    font-weight: bold;
    text-transform: uppercase;
}
.crypt_product_meta_row > span {
    margin: 0 15px;
}
.woocommerce_single_product .single-product .entry-summary .cart {
    width: 100%;
}
.crypt_product_meta_row_cart_form {
    margin-top: -30px;
}
.crypt_product_meta_row_cart_form .crypt_product_meta_row_label {
    padding: 15px 0;
}
.woocommerce_single_product .single-product .entry-summary .cart .quantity {
    margin-right: 0 !important;
}
.woocommerce_single_product .single-product .entry-summary .cart .quantity input {
    width: 50px;
    height: 45px;
}
.minus {
    margin-right: 10px;
}
.plus {
    margin-left: 10px;
}
.crypt_brand_name a {
    font-size: 16px;
}
.crypt_manual {
    padding: 15px 25px;
    margin-bottom: 15px;
}
.crypt_manual .crypt_files_title {
    color: #444;
    font-weight: bold;
    margin-bottom: 12px;
}
.crypt_manual .crypt_files {
    display: flex;
    margin-bottom: 8px;
}
.crypt_manual .crypt_files a {
    line-height: 1.4;
}
.crypt_manual .crypt_file_icon {
    width: 25px;
    height: 25px;
    margin-right: 10px;
}
.crypt_setificate h2 {
    text-align: left;
    margin-bottom: 25px;
}
.crypt_setificate {
    margin-bottom: 55px;
}
.crypt_setificate .crypt_setificate_name {
    text-align: center;
    margin: 10px 0;
    color: #444;
}
@media (min-width: 769px) and (max-width: 1085px) {
    .crypt_product_meta_row_add_to_cart {
        flex-direction: column;
    }
}
@media (max-width: 521px) {
    .crypt_product_meta_row_add_to_cart {
        flex-direction: column;
    }
}
.crypt_product_meta_row_value:not(.crypt_two_price) .old_price {
    display: flex;
}
.single_variation_wrap .crypt_product_meta_row_cart_form {
    margin-top: 0;
}
.woocommerce-variation.single_variation {
    margin-bottom: 0;
}
/*.variations_form {*/
/*    position: relative;*/
/*}*/
/*table.variations {*/
/*    position: absolute;*/
/*    top: 20px;*/
/*}*/
/*.single_variation_wrap .crypt_product_meta_row_cart_form {*/
/*    margin-bottom: 85px;*/
/*}*/
/*.woocommerce-variation.single_variation {*/
/*    min-height: 90px;*/
/*}*/
/*11.11.Crypt*/


/*27.11.2024 Crypt*/
.woocommerce-product-details__short-description > *,.woocommerce_single_product .single-product .woocommerce-tabs .desc * {
    color: #444;
}
.woocommerce-product-details__short-description, .woocommerce_single_product .single-product .woocommerce-tabs .desc {
    padding: 15px 25px;
}
.single .product_related .prod_desc,.single .products_viewed_section .prod_desc {
    display: none;
}
.single-product .product_block .title_block p.product_title {
    height: 70px;
    overflow: hidden;
    margin-bottom: 25px;
}
.woocommerce_single_product .single-product .related .product_block,#products_viewed_section .product_block {
    min-height: 550px;
}
.woocommerce_single_product .single-product .entry-summary .price ins,.woocommerce div.product span.price ins {
    text-decoration: none;
}
#products_viewed_section .crypt_two_price {
    display: flex;
}
.single-product .product_block .content .title_block .cat_item {
    width: 60%;
    margin-left: auto;
    min-height: 40px;
}
#products_viewed_section .slick-dots {
    justify-content: center;
}
.crypt_brand_name_new {
    line-height: 20px;
}
.crypt_brand_name_new .crypt_product_meta_row_label {
    min-width: 170px;
}
.crypt_brand_name_new .crypt_product_meta_row_value {
    text-transform: math-auto;
    text-align: right;
}
#products_viewed_section .slick-track {
    margin-left: 0;
}
/*27.11.2024 Crypt*/

/*14.01.2025 Crypt*/
.best_offers_section .row{
    margin-top: 25px;
}
.main_best_offers_block {
    display: flex;
    flex-direction: column;
}
.best_offers_section .slick-dots {
    margin: auto;
}
.slick-dots li{
    margin: 15px 3px;
}
.main_best_offers_block .product_block {
    min-height: 625px;
}
/*14.01.2025 Crypt*/

/*19.02.202 Crypt*/
.testimonial_section .slick-dots {
    margin: auto;
}
.testimonial_block {
    height: 325px;
    padding: 80px 10px 10px;
}
.testimonial_block .author_block {
    padding: 0;
}
/*19.02.202 Crypt*/

/*17.03.2025 Crypt*/
.page p:not(:where(.aitas-scope *)), .single-post p:not(:where(.aitas-scope *)) {
    color: #444;
    line-height: 1.65;
}
.page .post_item h1, .single-post .post_item h1, .page .container_block h1 {
    text-align: center;
    margin: 55px 0 45px;
}
.page-id-7417 figure img {
    width: 100%;
    height: auto;
    margin: 0 auto;
}
section.crypt_form {
    margin: 45px 0;
}
section.crypt_form h2 {
    margin-bottom: 25px;
}
section.crypt_form form {
    width: 555px;
    margin: 0 auto;
    max-width: 100%;
}
section.crypt_form form .wpcf7-form-control-wrap {
    width: 100%;
    max-width: 100%;
}
section.crypt_form form .form_contact .wpcf7-form-control-wrap * {
    max-width: 100% !important;
}
section.crypt_form .small_cf7_submit {
    max-width: 255px;
    margin: 0 auto;
}
.page .entry-content .container_block ul, .single-post .entry-content .container_block ul {
    list-style: disc;
    padding: 5px 0 5px 25px;
}
.page .entry-content .container_block ol, .single-post .entry-content .container_block ol {
    list-style: decimal;
    padding: 5px 0 5px 25px;
}
.page .post_item h2, .single-post .post_item h2, .page .container_block h2 {
    margin: 45px 0 35px;
}
.page-id-7419 figure a img, .page-id-7419 figure img, .page-id-7419 figure{
     margin: 0 auto;
    /*width: 100%;*/
    /*height: auto;*/
 }
/*17.03.2025 Crypt*/

/*//10.04.2025 Crypt*/
.crypt_discount_badge {
    position: absolute;
    top: 15px;
    right: 15px;
    background: #e53935;
    color: white;
    padding: 12px 18px;
    font-size: 12px;
    font-weight: bold;
    z-index: 10;
    border-radius: 3px;
}
.product_block span.onsale {
    display: inline-block;
    padding: 3px 10px;
    background: #ffdbdb;
    border-radius: 13px 0;
    position: absolute;
    top: 15px;
    right: 20px;
    left: auto;
    font-size: 12px;
    color: #fc7586;
    min-height: 1em;
    min-width: 3em;
    line-height: 2;
}
.tab_block .crypt_two_price {
    display: flex;
}
.crypt_two_price .original_price {
    line-height: 1.44;
}
/*//10.04.2025 Crypt*/

/*11.07.2025 Crypt*/
.section_page .promotions-description p {
    height: 111px;
    overflow: hidden;
}
/*11.07.2025 Crypt*/


.woocommerce .cart-collaterals .cart_totals .shop_table.crypt_cart_page .cart-subtotal th, .woocommerce .cart-collaterals .cart_totals .shop_table.crypt_cart_page .order-total th {
    width: 40%;
}
.woocommerce table.shop_table tr.chosen_method_description td {
    padding: 30px 40px;
    background: #4F9AD0;
    color: #fff;
    border-radius: 5px;
    text-align: left !important;
}
.woocommerce .cart-collaterals .cart_totals {
    max-width: none;
}
.woocommerce-cart-form__cart-item.cart_item {
    position: relative;
}
.crypt_min_height_label label {
    min-height: 64px;
}
@media (max-width: 981px) {
    .woocommerce-cart .cart-collaterals > div {
        max-width: 100%;
        flex: auto;
        padding: 0;
    }
    .woocommerce-cart .row.cart-collaterals {
        margin: 0;

    }
    /*.crypt_cart_page*/
}
@media (max-width: 767px) {
    .crypt_cart_page .chosen_method_description td:before {
        display: none;
    }
    .crypt_cart_page .chosen_method_description td {
        text-align: left !important;
    }
    .crypt_cart_page .woocommerce-shipping-totals.shipping {
        display: flex;
        flex-direction: column;
    }
    .crypt_cart_page .woocommerce-shipping-totals.shipping td:before {
        display: none;
    }
    .crypt_cart_page .woocommerce-shipping-totals.shipping th {
        display: block;
    }
    .crypt_cart_page .woocommerce-shipping-totals.shipping ul {
        text-align: left;
        padding: 15px;
    }
}

/*10.10.2025 Crypt*/
.footer_contact_block h6 {
    margin-top: 0;
}
.footer_contact_block h6:not(:first-child) {
    margin-top: 24px;
}
@media (max-width: 896px) {
    .footer_contact_block h6 {
        margin-top: 24px;
    }
}
/*10.10.2025 Crypt*/

/*7.11.2025 Crypt*/
.brand-minprice-products {
    margin: -55px 0 110px;
    border-radius: 12px;
}

.brand-minprice-products .container {
    padding: 20px;
}

.brand-minprice-products h2 {
    font-size: 1.8rem;
    font-weight: 600;
    margin-top: 24px;
    margin-bottom: 16px;
    color: #222;
    text-align: center;
}

.brand-minprice-products .table_wrapper {
    width: 100%;
    /*overflow-x: auto;*/
    /*overflow-y: hidden;*/
    -webkit-overflow-scrolling: touch;
    border-radius: 5px;
}

.brand-minprice-products table {
    width: 100%;
    border-collapse: collapse;
    /*min-width: 500px;*/
}

.brand-minprice-products th,
.brand-minprice-products td {
    padding: 10px 18px;
    text-align: left;
    border: 1px solid #ededed;
    white-space: nowrap;
}

.brand-minprice-products th {
    background: #dddddd;
    font-weight: 600;
    color: #333;
}
.brand-minprice-products tr:nth-child(2n+1) {
    background: #f4f3f3;
}
.brand-minprice-products td a {
    color: #0073aa;
    text-decoration: none;
    transition: color 0.2s;
    white-space: normal;
    word-wrap: break-word;
    word-break: break-all;
    overflow-wrap: anywhere;
}

.brand-minprice-products td a:hover {
    color: #005177;
    text-decoration: underline;
}

.brand-minprice-products tr:hover {
    background: #fafafa;
}


@media (max-width: 768px) {
    .brand-minprice-products th,
    .brand-minprice-products td {
        padding: 10px 12px;
        font-size: 0.95rem;
    }

    .brand-minprice-products h2 {
        font-size: 1.4rem;
    }
}

/*7.11.2025 Crypt*/

/*12.12.2025 Crypt*/
.crypt_table_content {
    padding: 25px;
    background-color: #fff;
    line-height: 2;
    border-bottom: 1px solid #ccc;
    margin: 25px 0;
    border-radius: 10px;
}
.crypt_table_content ul {
    list-style: decimal;
}
.crypt_table_content_select {
    display: inline-block;
    margin-left: 15px;
    cursor: pointer;
    font-size: 14px;
}
.crypt_table_content_list a {
    color: #444;
    text-decoration: none;
    border-bottom: 1px dashed;
}
/*12.12.2025 Crypt*/

/*16.01.2026 Crypt*/
.mobile_offers_block  {
    margin-top: 140px;
}
.mobile_offers_block .slick-dots,.mobile_offers_block .btn_block {
    margin: auto;
}
.mobile_offers_block .product_block {
    min-height: 585px;
}
.mobile_offers_block .mobile_offers_block_elem {
    max-width: 100%;
    flex: none;
}
.mobile_offers_block .mobile_offers_block_elem  p.product_title {
    max-height: 55px;
    min-height: 55px;
}
.mobile_offers_block .mobile_offers_block_elem p{
    margin: 0 5px;
}
@media (min-width: 431px) {
    .mobile_offers_block .mobile_offers_block {
        /*display: none;*/
    }
}
/*16.01.2026 Crypt*/

/*26.01.2026 Crypt*/
.editorial_section {
    margin-bottom: 55px;
    margin-top: 55px;
}
.editorial_section .editorial_wrapper .editorial_top {
    display: flex;
    flex-wrap: wrap;
}
.editorial_section .editorial_wrapper .editorial_top .editorial_right > div {
    margin-bottom: 25px;
    /*border-bottom: 1px dashed #dedede;*/
    padding-bottom: 15px;
}
.editorial_section .editorial_left {
    margin-right: 35px;
    width: calc(30%);
}
.editorial_section .editorial_right {
    width: calc(70% - 35px);
}
.editorial_wrapper {
    border-radius: 5px;
    padding: 25px;
    box-shadow: 2px 4px 8px rgba(0,0,0,0.15);
}
.editorial_section .editorial_wrapper .editorial_top .editorial_right > div.editorial-pib {
    font-weight: bold;
    font-size: 28px;
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}
.editorial_element.editorial-fotografiya img{
    border-radius: 5px;
}
.editorial_element_blocks {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -8px;
}
.editorial_element_blocks > div {
    width: calc(100%/2 - 32px);
    margin: 0 16px;
    margin-bottom: 15px;
}
.editorial-posylannya_na_publikacziyi_v_inshyh_dzherelah,.editorial-posylannya_na_soczmerezhi {
    line-height: 2;
}
.editorial_element_link i {
    margin-right: 10px;
    color: #4F9AD0;
    margin: 0;
}
.editorial_element_link a {
    margin-right: 15px;
}
.editorial-posylannya_na_soczmerezhi {
    font-size: 32px;

}
.editorial-posylannya_na_soczmerezhi_wrapper {
    display: flex;
    flex-wrap: wrap;
}
.editorial-posts-list {
    display: flex;
    flex-wrap: wrap;
}
.editorial-posts-list h2 {
    font-size: 18px;
}
.editorial-blog {
    margin-bottom: 45px;
}
.editorial-blog .post_image img {
    object-fit: cover;
    max-height: 165px;
}
.editorial-korotkyj_opys_pro_avtora {
    margin-top: 25px;
}
.editorial-single {
    margin: 25px 0 35px 0;
}
@media (max-width: 767px) {
    .editorial_element_blocks > div {
        width: calc(100% / 1 - 32px);
    }
}
@media (max-width: 767px) {
    .editorial_section .editorial_wrapper .editorial_top {
        flex-direction: column;
    }
    .editorial_element.editorial-pib {
        margin-top: 25px;
    }
    .editorial_section .editorial_left,.editorial_section .editorial_right {
        width: 100%;
    }
}
/*26.01.2026 Crypt*/

/*9.02.2026 Crypt*/
.products_by_topic_block .product_block {
    width: auto !important;
}
.products_by_topic_block img {
    -webkit-filter: none;
    filter: none;
    height: 272px;
    max-width: 100%;
}
.products_by_topic_block .product_block {
    min-height: 625px;
}
.products_by_topic_block .slick-dots {
    margin: auto;
}

.similar_section {
    margin-bottom:35px;
    margin-top: 35px;
}
.similar_section h2{
    margin: 45px 0 35px;
}
.similar_wrapper {
    display: flex;
    flex-wrap: wrap;
    margin:0 -15px;
}
.similar_wrapper .similar_elem {
    padding:0 15px;
    width:calc(100%/3);
    margin-bottom: 35px;
    justify-content: center;
}

.similar_wrapper a {
    font-weight: 700;
}
.similar_wrapper a:hover {
    color: #51acfb;
}
.similar_section .similar_title {
    margin-bottom:15px;
    font-size:28px;
}
.similar_wrapper a.similar_link {
    color: #444;
    -webkit-transition: color 200ms ease;
    -moz-transition: color 200ms ease;
    transition: color 200ms ease;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    max-height: 3.6em;
    line-height: 1.3em;
}
.similar_elem {
    display: flex;
    flex-wrap: wrap;
}
.similar_elem .similar_left {
    width: auto;
    margin-bottom: 15px;
    height: 195px;
    overflow: hidden;
}

@media (max-width: 600px) {
    .similar_wrapper .similar_elem {
        width:calc(100%);
        margin-bottom:15px;
    }
    .similar_elem .similar_left {
        width: 100%;
        height: auto;
    }
    .similar_elem .similar_left img {
        width: 100%;
        height: auto;
        object-fit: cover;
    }
}
/*9.02.2026 Crypt*/

/*5.03.2026 Crypt*/
figure.wp-block-image,figure.wp-block-image img {
    margin: 0 auto;
}
/*5.03.2026 Crypt*/

/*23.03.2026 Crypt*/
#page .container_block.container_callback_button {
    margin-top: 25px;
    margin-bottom: 25px;
}

.block_title {
    margin-bottom: 60px;
    margin-top: 30px;
}

.ready_projects_section {
    background: #fff;
    padding: 45px 0;
}
.ready_projects_left {
    width: 60%;
    margin-right: 25px;
}
.ready_projects_right {
    width: calc(40% - 25px);
    background: url("/wp-content/themes/aitas/crypt/project_logo.webp") center 35px no-repeat;
    padding-top: 200px;
    padding-right: 35px;
    position: relative;
}
.fajl_proyektu_button {
    display: block;
    margin: 0 auto;
    width: 315px;
    margin-top: 35px;
}
.ready_projects_elem {
    margin-bottom: 45px;
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.15);
}
.ready_projects_title {
    color: #444;
    text-align: right;
    font-size: 55px;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 35px;
}
.ready_projects_subtitle {
    text-align: right;
    font-size: 28px;
}
.ready_projects_city {
    text-align: right;
    font-size: 28px;
    color: #444;
}
.ready_projects_right_bottom {
    position: absolute;
    right: 35px;
    bottom: 35px;
    color: #444;
}

@media (max-width: 967px) {
    .ready_projects_left {
        width: 50%;
    }
    .ready_projects_right {
        width: calc(50% - 25px);
    }
}
@media (max-width: 851px) {
    .ready_projects_left {
        width: 100%;
        margin-right: 0;
        max-height: 500px;

    }
    .ready_projects_right {
        min-height: 500px;
        width: 100%;
        padding-left: 35px;
    }
    .ready_projects_left img {
        max-height: 100%;
        width: 100%;
        object-fit: cover;
    }
    .ready_projects_right_bottom {
        width: calc(100% - 70px);
    }
    .fajl_proyektu_button {
        width: auto;
    }
}

.slick-arrow {
    position: absolute;
    top: calc(50% - 50px);
    padding: 10px 18px;
    background: #f5f5f5;
    border-radius: 50%;
    z-index: 1;
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.1);
}
.slick-prev {
    left: -8px;
}
.slick-next {
    right: -8px;
}
/*23.03.2026 Crypt*/



/*14.04.2026 Crypt*/
.post_data {
    display: flex;
}

.post_data {
    margin-bottom: 15px;
}
.post_data.single_post {
    margin: 20px 0;
    line-height: 60px;
    padding: 5px 15px 0px 15px;
    padding-left: 25px;
    padding-right: 25px;
    border-left: 3px solid #4F9AD0;
    background: linear-gradient(45deg, #fff, #fcfafa);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.post_data.single_post i:not(.post-rating__icon) {
    color: #4F9AD0;
}
.post-rating__label {
    cursor: pointer;
}
.post-rating__input {
    display: none;
}
.post-rating__span {
    width: 16px;
    color: #ccc;
}
.post-rating__icon::before {
    font-size: 16px;
}
.set_rating {
    display: flex;
    justify-content: space-between;
}
.set_rating .text {
    color: #ffa900;
    line-height: 34px;
    font-size: 25px;
}
.crypt-fa-stack {
    display: inline-block;
    height: 2em;
    line-height: 2em !important;
    position: relative;
    vertical-align: middle;
    width: 1.4em;
}

.crypt_number {
    /*font-family: 'Open Sans';*/
    font-size: 14px;
    color: #555;
    margin-left: 5px;
}
.post-rating__span.solid {
    color: #ffa900;
}
.crypt_label {
    margin-right: 10px;
}
.post-rating__icon.fa-stack-1x {
    line-height: 1.7;
}
.post_data.single_post {
    min-width: 300px;
}
/*14.04.2026 Crypt*/

/*15.05.2026 Crypt*/
.page-study .page_with_top_block {
    margin-top: 55px;
}
.study-posts-list {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
.study-posts-list .post-item {
    background: #fff;
    padding: 5px;
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.15);
    margin: 0 8px 16px 8px;
    max-width: calc(33.3% - 16px);
}
.study-posts-list .post-item h2 {
    font-size: 18px;
    padding: 0 15px;
}
.page-study .nav-links {
    margin: 25px auto;
}
@media (max-width: 767px) {
    .study-posts-list .post-item {
        max-width: calc(50% - 16px);
    }

}
@media (max-width: 491px) {
    .study-posts-list .post-item {
        max-width: calc(100% - 16px);
    }

}

.page-study .post-thumbnail.container img{
    margin: 0 auto;
}
.page-study {
    margin-bottom: 55px;
}
/*15.05.2026 Crypt*/

/* ============================================================================
 * 2026-07-09 STRIPE REDESIGN — pinned navy header (Rozetka-style, AITAS palette)
 * Owns: .site-header (sticky), .aitas-stripe row, burger restyle, corner logo,
 * Каталог button + mega-panel, search pill + suggest panel, home/phone/account/
 * cart icon group, cart badge (server-rendered empty, cookie-painted), callback
 * modal restyle, drawer (catalog accordion, brand row, home), .aitas-seo-line
 * (the relocated front-page H1), shop search-clear chip.
 * Tokens: navy #000D2E, accent #4F9AD0, hover #1d80c7, muted #808696,
 * chip bg #F0F6FB, hairline #EDF3F9 / #E2ECF5, ink #0F3350 / #3E5568.
 * Round 2: stripe 64→72px, controls 44→48px, icons 24→26px @ stroke 2, ghost
 * Каталог + navy Знайти, row constrained to the .container width, vector logo.
 * Round 3: the burger morphs in place into an X and the drawer now slides UNDER the
 * stripe, so that burger stays the single close control. Round 4: burger is a
 * persistent 48×48 ghost-outlined rounded square (aligned to, and matching, the
 * Каталог button) holding a minimal 2px-stroke glyph like the phone/account/cart SVGs.
 * Round 6: the hero strip is gone (its H1 renders as .aitas-seo-line inside the
 * offers block); the logo left the row — desktop keeps it in the full-bleed gutter
 * (.aitas-corner-logo, z-above drawer + catalog panel), mobile shows it in the
 * drawer; Каталог opens a real category/brand mega-panel; the search panel grew
 * live suggestions (3 hits visible, the rest scroll behind a hairline scrollbar).
 * Round 7: home moved next to the burger and wears its ghost square; the catalog
 * panel is the ONE catalog surface (full-screen sheet ≤991px, dropdown above —
 * the drawer accordion is gone, and with it the second copy of the term tree);
 * panes flow long lists across their columns; brand tiles show bigger logos with
 * smaller captions (same on /brands/); the front-page H1 sits close above the
 * «Магазин» button and is actually centred.
 * ============================================================================ */

/* --- no layout shift when a panel locks the page (r7b) ------------------------
 * Opening Каталог (and the cart drawer, and the callback modal) sets overflow:hidden
 * on <body>, which removes the classic scrollbar — the page then re-lays out ~15px
 * wider and everything jumps right. Reserving the gutter permanently is the fix:
 * `stable` keeps the space whether or not the scrollbar is drawn (MDN: the gutter is
 * present for overflow auto/scroll/HIDDEN). Phones and macOS use overlay scrollbars,
 * so they never had the jump and are unaffected. */
html { scrollbar-gutter: stable; }

/* --- pinned stripe shell --- */
.site-header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 990; /* under the cart drawer/modal (100000+), over everything else */
    background: #000D2E;
    padding: 0;
    border-bottom-right-radius: 0;
    box-shadow: 0 2px 14px rgba(0, 13, 46, 0.25);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    transition: none;
}
.site-header.hide_site-header {
    background: #000D2E; /* drawer-open state: stay navy (continuous with the drawer) */
    box-shadow: none;
}
body.admin-bar .site-header { top: 32px; }
@media screen and (max-width: 782px) {
    body.admin-bar .site-header { top: 46px; }
}

/* The row tracks the site .container so the controls line up with the page content
 * (offers block, product grid) — with one round-6 exception: the LEFT edge yields
 * to the corner logo when the natural gutter is narrower than the logo needs
 * (95px logo + 18px inset + breathing room = 131px to the first control). The
 * RIGHT edge always stays container-aligned, so the cart keeps its x position at
 * every width; on wide screens (≥ ~1760px) the gutter itself is ≥131px and the
 * row is pixel-identical to rounds 2-5. */
.aitas-stripe {
    position: relative; /* containing block for the mobile search panel */
    z-index: 20; /* above .main_menu (z 12): the drawer slides in UNDER the stripe */
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0 auto;
    padding: 8px 20px; /* r5: 12→8, so the row is 64px (8 + 48px controls + 8), not 72 */
}
@media (min-width: 992px) {
    .aitas-stripe { width: auto; max-width: none; margin-left: 131px; margin-right: 18px; padding-left: 0; padding-right: 0; }
}
@media (min-width: 1025px) {
    .aitas-stripe {
        /* container geometry: min(94%, 1600px) wide, centered, 32px inner padding */
        margin-left: max(calc((100% - min(94%, 1600px)) / 2), 99px); /* 99 + 32 padding = 131 */
        margin-right: calc((100% - min(94%, 1600px)) / 2);
        padding-left: 32px;
        padding-right: 32px;
    }
}

/* --- corner logo (desktop): full-bleed gutter left of the row, above the drawer
 * and the catalog panel (both live below z 20-30), clickable while they are open --- */
.aitas-corner-logo { display: none; }
@media (min-width: 992px) {
    .aitas-corner-logo {
        display: block;
        position: absolute;
        left: 18px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 30;
        line-height: 0;
    }
    .aitas-corner-logo img { display: block; width: 95px; height: 44px; }
}

/* --- burger (reuses .open_icon toggle wiring in custom.js) ------------------
 * The burger is a persistent 48×48 rounded square. That square — not the glyph
 * inside it — carries the row alignment: it is the same 48px box as the Каталог
 * button, so both sit exactly on header y 12→60. This is what lets the glyph stay
 * small and correctly proportioned; an earlier attempt stretched the bars themselves
 * to 44px to meet the logo, and the wide gaps that forced looked bad at any weight.
 *
 * The square is a ghost outline (1px, white .30) over the stripe's own navy, not a
 * fill — the exact border, radius and hover of .aitas-catalog-btn, so the two read as
 * a matched pair of ghost controls. Keeping the hairline dimmer and thinner than the
 * white 2px glyph preserves the hierarchy (glyph first, box second).
 * `box-sizing:border-box` is required: the outer box must stay exactly 48×48 or it
 * no longer lines up with Каталог. (Absolutely-positioned spans resolve top/left:50%
 * against the padding box, so the glyph stays centred in the border box regardless.)
 *
 * The glyph is 3 plain 2px rounded lines, 22px wide, 6px apart (block 18px), and
 * the X keeps the same 2px stroke. 2px + rounded ends is exactly what the phone /
 * account / cart / lens SVGs draw (`stroke-width:2; stroke-linecap:round`), so the
 * burger carries the same optical weight as the rest of the row.
 *
 * The `.site-header .aitas-stripe .open_icon` prefix is deliberate. The theme's
 * style.css carries UNSCOPED state rules — `.open span:nth-child(1){top:20px;
 * transform:rotate(45deg)}`, `…(2){display:none}`, `…(3){top:20px;rotate(-45deg)}`
 * — whose job is to collapse the three bars onto one line to form the X. Rounds 1-2
 * used `.site-header .open_icon span:nth-child(n){top:15/23/31px}`, which outranks
 * `top:20px`, so the bars rotated 16px apart and never crossed: that is the broken
 * X the owner saw. Positioning every bar from the centre (top/left 50% + translate)
 * means no state rule has to fight over `top` at all.
 */
.site-header .aitas-stripe .open_icon {
    flex: none;
    position: relative;
    box-sizing: border-box;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(255, 255, 255, 0.30);
    border-radius: 10px;
    background: transparent;
    box-shadow: none;
    padding: 0;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}
.site-header .aitas-stripe .open_icon:hover {
    background: rgba(255, 255, 255, 0.10);
    border-color: rgba(255, 255, 255, 0.60);
}
.site-header .aitas-stripe .open_icon span {
    position: absolute;
    top: 50%;
    left: 50%;
    box-sizing: border-box;
    width: 22px;
    height: 2px;
    margin: 0;
    border: none;
    border-radius: 1px; /* == stroke-linecap:round on a 2px stroke */
    background: #fff;
    transition: transform 0.34s cubic-bezier(0.65, 0, 0.35, 1),
                width 0.34s cubic-bezier(0.65, 0, 0.35, 1),
                opacity 0.18s ease;
}
/* ±8px = bar height (2) + gap (6); block = 2+6+2+6+2 = 18 */
.site-header .aitas-stripe .open_icon span:nth-child(1) { transform: translate(-50%, -50%) translateY(-8px); }
.site-header .aitas-stripe .open_icon span:nth-child(2) { transform: translate(-50%, -50%); }
.site-header .aitas-stripe .open_icon span:nth-child(3) { transform: translate(-50%, -50%) translateY(8px); }

/* open → the lines morph in place into an X at the same 2px stroke. The stripe sits
 * above the drawer (z-index on .aitas-stripe), so this stays the one close control. */
.site-header .aitas-stripe .open_icon.open span { width: 18px; }
.site-header .aitas-stripe .open_icon.open span:nth-child(1) { transform: translate(-50%, -50%) rotate(45deg); }
.site-header .aitas-stripe .open_icon.open span:nth-child(2) { display: block; opacity: 0; transform: translate(-50%, -50%) scaleX(0.2); }
.site-header .aitas-stripe .open_icon.open span:nth-child(3) { transform: translate(-50%, -50%) rotate(-45deg); }

/* --- home (r7) --------------------------------------------------------------
 * It used to sit in the right-hand icon group; the owner moved it beside the burger,
 * so it now wears the burger's ghost square (same 48/44 box, 1px white .30 hairline,
 * radius 10, same hover) and the two read as one pair of navigation controls.
 * .aitas-icon-btn declares `border:none`, hence the explicit border + border-box here:
 * the outer box must stay exactly 48×48 or it breaks the row's 12→60 alignment. */
.aitas-stripe .aitas-home-btn {
    flex: none;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.30);
    border-radius: 10px;
    transition: background 0.15s, border-color 0.15s;
}
.aitas-stripe .aitas-home-btn:hover {
    background: rgba(255, 255, 255, 0.10);
    border-color: rgba(255, 255, 255, 0.60);
}
/* 24px glyph in a bordered box ≈ the burger's 22px bar block optically; the unbordered
 * phone/account/cart icons stay at 26 */
.aitas-stripe .aitas-home-btn svg { width: 24px; height: 24px; }

/* --- Каталог button (opens the mega-panel; icon swaps to an × while open) --- */
.aitas-catalog-btn {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    height: 48px;
    padding: 0 20px;
    background: transparent;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.30);
    border-radius: 10px;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}
.aitas-catalog-btn:hover,
.aitas-catalog-btn.is-open {
    background: rgba(255, 255, 255, 0.10);
    border-color: rgba(255, 255, 255, 0.60);
}
.aitas-catalog-btn svg { flex: none; }
.aitas-catalog-btn__x { display: none; }
.aitas-catalog-btn.is-open .aitas-catalog-btn__grid { display: none; }
.aitas-catalog-btn.is-open .aitas-catalog-btn__x { display: block; }

/* --- search pill --- */
.aitas-search {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
}
.aitas-search__form {
    display: flex;
    align-items: center;
    height: 48px;
    background: #fff;
    border-radius: 10px;
    padding: 0 5px 0 2px;
}
.aitas-search__lens {
    flex: none;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0;
    color: #808696;
    cursor: pointer;
    transition: color 0.15s;
}
.aitas-search__lens:hover { color: #4F9AD0; }
.aitas-search__field {
    flex: 1 1 auto;
    min-width: 0;
    height: 100%;
    border: none !important;
    outline: none;
    background: none !important;
    box-shadow: none !important;
    font-family: inherit;
    font-size: 16px;
    color: #232323;
    padding: 0 8px 0 0;
    margin: 0;
}
.aitas-search__field::placeholder { color: #9AA3B2; opacity: 1; }
.aitas-search__submit {
    flex: none;
    height: 38px;
    padding: 0 22px;
    background: #000D2E;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}
.aitas-search__submit:hover { background: #16294F; }

/* --- «Наші категорії» panel --- */
.aitas-search-panel {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 24px 60px rgba(0, 13, 46, 0.28);
    padding: 18px;
    z-index: 60;
}
.aitas-search-panel__title {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #808696;
    margin-bottom: 12px;
}
.aitas-search-panel__chips {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
}
.aitas-search-panel__chips li { margin: 0; padding: 0; }
.aitas-search-panel__chips a {
    display: block;
    padding: 9px 16px;
    background: #F0F6FB;
    border: 1px solid #F0F6FB;
    border-radius: 100px;
    font-size: 14px;
    font-weight: 500;
    color: #0F3350;
    white-space: nowrap;
    transition: border-color 0.15s, color 0.15s;
}
.aitas-search-panel__chips a:hover { border-color: #4F9AD0; color: #1d80c7; }
.aitas-search-panel__recent { margin-bottom: 16px; }

/* --- live suggestions (r6) --------------------------------------------------
 * Exactly 3 hit rows are visible (66px each); more scroll behind a hairline
 * scrollbar. Term hits («Пошук у брендах та категоріях») follow below. */
.aitas-search.is-loading .aitas-search__lens { animation: aitas-lens-pulse 0.9s ease-in-out infinite; }
@keyframes aitas-lens-pulse { 50% { opacity: 0.35; } }

/* r8 deploy marker. regression-core step 0 asserts this token appears in the SERVED crypt.css
 * (min copies included) — a custom property, because WP Rocket's minifier strips every comment
 * and a class name would also match the page HTML and so mask a stale min copy. */
:root { --aitas-stripe-r9: 1; }

/* r8: the dropdown's shell is now built once and PATCHED per keystroke (rows keyed by product
 * id keep their decoded thumbnails — that is what killed the flicker), so its parts are hidden
 * in place instead of being deleted. An author `display:flex` outranks the UA's
 * [hidden]{display:none}, so a hidden .aitas-suggest__all would still paint without this. */
.aitas-suggest [hidden] { display: none !important; }

.aitas-suggest__all {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 2px 2px 12px;
    font-size: 14px;
    font-weight: 700;
    color: #0F3350;
}
.aitas-suggest__all:hover { color: #1d80c7; }
.aitas-suggest__all svg { opacity: 0.5; }
.aitas-suggest__count { color: #808696; font-weight: 600; }
.aitas-suggest__count::before { content: "("; }
.aitas-suggest__count::after { content: ")"; }

.aitas-suggest__list {
    list-style: none;
    margin: 0 -6px;
    padding: 0 6px 0 0;
    max-height: 198px; /* 3 × 66px rows — the "always 3 hits" rule */
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #C9D9E8 transparent;
}
.aitas-suggest__list::-webkit-scrollbar { width: 4px; }
.aitas-suggest__list::-webkit-scrollbar-thumb { background: #C9D9E8; border-radius: 2px; }
.aitas-suggest__list::-webkit-scrollbar-track { background: transparent; }
.aitas-suggest__list li { margin: 0; padding: 0; }
.aitas-suggest__list a {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 66px;
    padding: 0 10px;
    border-radius: 10px;
}
.aitas-suggest__list a:hover,
.aitas-suggest__list a.is-active { background: #F0F6FB; }
.aitas-suggest__list img,
.aitas-suggest__noimg {
    flex: none;
    width: 48px;
    height: 48px;
    object-fit: contain;
    border-radius: 8px;
    background: #fff;
}
.aitas-suggest__noimg {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F0F6FB;
    color: #9AA3B2;
}
.aitas-suggest__t {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 14px;
    line-height: 1.3;
    color: #232323;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.aitas-suggest__p {
    flex: none;
    max-width: 130px;
    text-align: right;
    font-size: 14px;
    font-weight: 700;
    color: #0F3350;
}
.aitas-suggest__p del { display: block; color: #9AA3B2; font-weight: 500; font-size: 12px; }
.aitas-suggest__p ins { text-decoration: none; }
/* «На замовлення» / «Є в наявності» — the site's availability green (#3dcc3b, the colour
 * inc/product_page.php paints the product page's «Наявність» row). Never red: site policy is
 * that a 1C-forced out-of-stock still sells на замовлення, so nothing reads as unavailable. */
.aitas-suggest__p em { display: block; font-style: normal; font-size: 11px; font-weight: 600; color: #3dcc3b; }
.aitas-suggest__empty { padding: 4px 2px 12px; font-size: 14px; color: #808696; }
.aitas-suggest__chips-echo { margin-top: 12px; }

.aitas-suggest__terms { border-top: 1px solid #EDF3F9; margin-top: 10px; padding-top: 12px; }
.aitas-suggest__term {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border-radius: 10px;
    font-size: 14px;
    color: #3E5568;
}
.aitas-suggest__term:hover,
.aitas-suggest__term.is-active { background: #F0F6FB; }
.aitas-suggest__term svg { flex: none; color: #9AA3B2; }
.aitas-suggest__term-txt {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.aitas-suggest__term-q { font-weight: 600; color: #232323; }
.aitas-suggest__term-txt b { color: #1d80c7; }
.aitas-suggest__term-cnt { flex: none; font-size: 12px; color: #9AA3B2; }

/* --- right icon group: phone / account / cart --- */
.aitas-actions {
    flex: none;
    display: flex;
    align-items: center;
    gap: 4px;
}
.aitas-icon-btn {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    border-radius: 10px;
    padding: 0;
    color: #fff;
    cursor: pointer;
    transition: background 0.15s;
}
a.aitas-icon-btn,
a.aitas-icon-btn:visited { color: #fff; }
.aitas-icon-btn:hover { background: rgba(255, 255, 255, 0.08); color: #fff; }

.aitas-account { position: relative; display: flex; }
.aitas-account__menu {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 16px 40px rgba(0, 13, 46, 0.25);
    padding: 8px;
    min-width: 170px;
    display: none;
    z-index: 60;
}
.aitas-account:hover .aitas-account__menu,
.aitas-account:focus-within .aitas-account__menu { display: block; }
.aitas-account__menu a {
    display: block;
    padding: 9px 12px;
    border-radius: 7px;
    font-size: 14px;
    color: #232323;
}
.aitas-account__menu a:hover { background: #F0F6FB; color: #1d80c7; }

.aitas-stripe .cart_data { position: relative; flex: none; display: flex; }
/* the legacy `.cart_data span` badge rule (crypt.css:174) matches ANY span in
 * .cart_data — including this icon wrapper. Neutralize its absolute/circle/border,
 * and its `color:#999`, which is what greyed out the cart SVG's currentColor stroke. */
.aitas-stripe .cart_data .basket_icon {
    display: flex;
    position: static;
    width: auto;
    height: auto;
    background: none;
    border: none;
    border-radius: 0;
    margin: 0;
    color: inherit;
}
.cart_data > span {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    border: none; /* legacy `.cart_data span` rule carries a grey border */
    border-radius: 10px;
    background: #4F9AD0;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 19px;
    text-align: center;
    pointer-events: none;
}
.cart_data > span:empty { display: none; } /* badge is server-rendered empty; cookie/fragments fill it */

/* --- callback modal (phones + CF7 7669) --- */
#crypt-callback-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100010; /* above the cart drawer (100001) */
    background: rgba(0, 13, 46, 0.6);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.crypt-modal-window .modal-dialog {
    transform: none !important;
    margin: 10vh auto 40px;
    max-width: 440px;
    width: calc(100% - 32px);
}
.crypt-modal-window .modal-content {
    background: #fff;
    border: none;
    border-radius: 14px;
    padding: 26px 26px 22px;
    box-shadow: 0 30px 80px rgba(0, 13, 46, 0.35);
    position: relative;
}
.crypt-modal-window .modal-content .title {
    color: #000D2E;
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 18px;
    padding-right: 34px;
}
.crypt-modal-window .close_modal {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F0F4F9;
    color: #000D2E;
    border: none;
    border-radius: 50%;
    font-size: 20px;
    line-height: 1;
    padding: 0;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}
.crypt-modal-window .close_modal:hover { background: #4F9AD0; color: #fff; }
.aitas-modal-phones {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.aitas-modal-phones a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #E2ECF5;
    border-radius: 10px;
    font-size: 17px;
    font-weight: 600;
    color: #000D2E;
    transition: border-color 0.15s, color 0.15s;
}
.aitas-modal-phones a svg { color: #4F9AD0; flex: none; }
.aitas-modal-phones a:hover { border-color: #4F9AD0; color: #1d80c7; }
.aitas-modal-sep {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #808696;
    font-size: 13px;
    margin: 18px 0 12px;
    text-align: center;
}
.aitas-modal-sep::before,
.aitas-modal-sep::after {
    content: "";
    height: 1px;
    background: #E2ECF5;
    flex: 1 1 auto;
    min-width: 20px;
}
/* «Відправити»: the theme pushes .wpcf7-submit to the right (.crypt-modal-window
 * carries margin-left:auto). Center it and match it to the stripe's Знайти button.
 * The hidden spinner is an inline-block sibling, so centering the <p> would shift the
 * button left by half the spinner's box — center the input itself instead.
 * The !importants are unavoidable: `.home .wpcf7 input[type=submit]` forces
 * `padding:0 !important` + a centered paper-plane background, and
 * `.crypt-modal-window .wpcf7 input[type=submit]` forces `padding-left:15px !important`
 * — together they drop that dark plane glyph on top of the label (and it is nearly
 * invisible on navy anyway). The ID selector wins the important-vs-important contest. */
#crypt-callback-modal .wpcf7-form .wpcf7-submit {
    display: block;
    margin-left: auto;
    margin-right: auto;
    min-width: 151px;
    height: 44px;
    padding: 0 26px !important;
    background-image: none !important;
    background-color: #000D2E;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.15s;
}
#crypt-callback-modal .wpcf7-form .wpcf7-submit:hover { background-color: #16294F; }
#crypt-callback-modal .wpcf7-spinner { position: absolute; }

/* --- drawer: slides in UNDER the pinned stripe ------------------------------
 * Round 3. The drawer is a child of .site-header and is positioned at its top, so
 * it used to cover the burger ~50ms into the slide and present its OWN close
 * control — a white circle with a faint #BEBDBE X, at a different spot. That is
 * what "the icon it switches into" was. With .aitas-stripe lifted above it, the
 * burger stays put, morphs to an X, and remains the close control; the drawer's
 * duplicate logo + close button hide behind the (opaque navy) stripe, so the whole
 * .site-branding_row is simply dropped. Escape and backdrop-click still route
 * through the same burger (crypt.js triggers a click on it).
 * Slide was `all 1s` (legacy) — retimed to match the icon morph.
 */
.main_menu {
    transition: transform 0.34s cubic-bezier(0.65, 0, 0.35, 1),
                left 0.34s cubic-bezier(0.65, 0, 0.35, 1);
}
.main_menu .mob_icons,
.main_menu .mobile_search_form { display: none !important; }
.main_menu .sub_menu_mobile { display: block !important; }
.main_menu .site-branding_row { display: none; }
/* the legacy .site-branding{height:78px} cap made the forced-visible account links
 * overflow onto the nav below (desktop drawer) — let the drawer branding size itself */
.main_menu .site-branding { max-width: 100%; height: auto; }
/* clear the stripe: 64px + 16px breathing room (mobile override in the ≤991px block) */
.main_menu .row_header .col_small { padding-top: 80px; }
/* desktop drawer: the -20px slide offset eats the column padding, leaving the
 * content flush against the screen edge — restore breathing room */
@media (min-width: 992px) {
    .main_menu .site-branding { padding-left: 20px; }
}

/* --- drawer nav: submenus expand in place on desktop too (r7d) ---------------
 * style.css gives the drawer TWO different submenus. Mobile (≤861px): an in-flow
 * accordion. Desktop (≥862px): a hover flyout — the <ul> is lifted out of the flow
 * (position:absolute; left:424px; min-height:100vh; width 350px on hover) and revealed
 * with visibility/opacity, i.e. a second column floating over the drawer, opened by
 * hovering and gone the moment the pointer leaves. Owner's call: use the mobile
 * behaviour on both — click to expand, in place, stays open.
 *
 * Only the CSS had to go: custom.js's click toggle is bound at every width already
 * (it slideDown/slideUp's the <ul>). Its inline `display` is exactly why NOTHING here
 * is !important — an inline style outranks a stylesheet rule, so the toggle keeps the
 * last word over the closed/hover rules below.
 *
 * Scoped to the drawer nav rather than to «Каталоги брендів», which merely happens to be
 * the only parent left after r7: add another parent in Appearance → Menus and it behaves.
 */
@media (min-width: 861px) {
    /* the row itself: style.css leaves the <li> a flex ROW (it could, the flyout was out of
     * flow) — an in-flow <ul> would become a flex sibling of the link and sit BESIDE it,
     * overflowing the 404px drawer. Stack them. */
    .main_menu .main-navigation .menu li.menu-item-has-children {
        flex-direction: column;
        align-items: stretch;
    }
    .main_menu .main-navigation .menu li ul.sub-menu,
    .main_menu .main-navigation .menu .menu-item-has-children ul.sub-menu,
    .main_menu .main-navigation .menu .menu-item-has-children:hover ul.sub-menu,
    .main_menu .main-navigation .menu li ul.sub-menu .menu-item-has-children:hover .sub-menu {
        position: static;
        top: auto; left: auto; right: auto;
        width: 100%;
        min-height: 0;
        padding-top: 0;
        margin: 14px auto 6px;
        flex-direction: column;
        /* the flyout hid itself with visibility/opacity as well as display — a
         * slid-down <ul> would otherwise occupy space while staying invisible */
        visibility: visible;
        opacity: 1;
        transition: none;
    }
    /* hover reveals nothing any more; the click does */
    .main_menu .main-navigation .menu .menu-item-has-children:hover ul.sub-menu,
    .main_menu .main-navigation .menu li ul.sub-menu .menu-item-has-children:hover .sub-menu {
        display: none;
    }
    /* Row rhythm. style.css sets the submenu's padding ONLY under :hover — it was describing
     * the open flyout, since hover WAS the open state. In an accordion those rules fire on
     * every pointer pass over an already-open list: rows re-pad (left 0/60, top 10/20) and the
     * whole list jumps under the cursor. So each rule below is written twice — once plain, once
     * with style.css's own :hover selector — and the hovered state resolves to the same numbers.
     * The selectors are copied verbatim from style.css: a shorter one loses on specificity. */
    .main_menu .main-navigation .menu ul.sub-menu li,
    .main_menu .main-navigation .menu .menu-item-has-children:hover ul.sub-menu li,
    .main_menu .main-navigation .menu li ul.sub-menu .menu-item-has-children:hover .sub-menu li {
        /* flush with «Каталоги брендів» — the smaller type already says "submenu", so an indent
         * on top of it only eats the width these long brand names need (owner's call) */
        padding-left: 0;
    }
    .main_menu .main-navigation .menu ul.sub-menu ul.sub-menu li,
    .main_menu .main-navigation .menu li ul.sub-menu .menu-item-has-children:hover .sub-menu li {
        padding-left: 18px; /* level 3 (the catalogs themselves) keeps one small step */
    }
    .main_menu .main-navigation .menu ul.sub-menu li a,
    .main_menu .main-navigation .menu .menu-item-has-children:hover ul.sub-menu li a,
    .main_menu .main-navigation .menu li ul.sub-menu .menu-item-has-children:hover .sub-menu li a {
        padding: 9px 30px 9px 0; /* right gutter keeps the text clear of the caret */
        margin-bottom: 0;
        line-height: 1.3;
    }
    /* …except style.css zeroes the top padding of the first item with an ID selector
     * (`#primary_menu li:first-child a`), which outranks anything class-based — and it hits
     * the first row of EVERY submenu, not just the first top-level item. That is what left
     * LM's row 9px short and its caret 9px off. Beat it on its own terms (id + one more class). */
    .main_menu .main-navigation #primary_menu ul.sub-menu li:first-child a { padding-top: 9px; }
    /* the flyout column was styled for a light background: level-2 links are #000D2E and
     * level-3 #808696 — that first one IS the drawer's background, so in the accordion the
     * brand rows rendered invisible (carets only). Mobile paints both white; match it.
     * The level-3 selector mirrors style.css's own (0,6,4) — a shorter one loses to it. */
    .main_menu .main-navigation .menu ul.sub-menu li a { color: #fff; }
    .main_menu .main-navigation .menu li .sub-menu .menu-item-has-children .sub-menu li a { color: #fff; }
    .main_menu .main-navigation .menu ul.sub-menu li a:hover { color: #4F9AD0; }

    /* Carets. Every disclosure's caret is `position:absolute; right:0` — which needs a
     * positioned row to hang off. style.css gives one to the nested rows (mobile block) but
     * NEVER to the top-level <li>, because at ≥862 the flyout meant the caret was decorative:
     * it fell back to the nearest positioned ancestor (the header), so it sat in fixed screen
     * space and drifted away from «Каталоги брендів» as the drawer scrolled. Anchor it to its
     * own row, and pin it to the first line of the label rather than a hand-tuned margin. */
    .main_menu .main-navigation .menu li.menu-item-has-children { position: relative; }
    .main_menu .main-navigation .menu > li.menu-item-has-children:after {
        /* centred on the label's FIRST line, not on the row: the row grows to hold the open
         * submenu, and the <a> carries 20px of padding above its 29px line box —
         * 20 + 29/2 − 18/2 = 26 (style.css's margin-top:24 was hand-tuned for the flyout) */
        top: 26px;
        right: 8px; /* the row runs to the drawer's edge — don't let the caret touch it */
        margin: 0;
        width: 18px;
        height: 18px;
    }
    /* nested rows need the caret defined outright — ≥862 hid it (the flyout opened on hover,
     * so it had nothing to announce), and the :hover variant hid it under the pointer too */
    .main_menu .main-navigation .menu li .sub-menu .menu-item-has-children:after,
    .main_menu .main-navigation .menu li .sub-menu .menu-item-has-children:hover:after {
        content: "";
        display: block;
        position: absolute;
        top: 14px; /* same arithmetic: 9px link padding + 26px line box, 16px glyph */
        right: 8px;
        width: 16px;
        height: 16px;
        margin: 0;
        background: url("/wp-content/uploads/2021/02/arrow_white.png") right center / contain no-repeat;
        transition: transform 0.3s;
    }
}

/* --- Каталог mega-panel (desktop; hidden ≤991px — the drawer accordion serves there).
 * Hangs off the sticky header: backdrop z5 < panel z15 < stripe z20 < corner logo z30,
 * all inside the header's own stacking context (z-990 over the page). --- */
body.aitas-cat-open { overflow: hidden; }
.aitas-cat-backdrop {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 5;
    background: rgba(0, 13, 46, 0.45);
}
.aitas-cat-panel {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 15;
    background: #fff;
    border-top: 1px solid #E2ECF5;
    box-shadow: 0 30px 60px rgba(0, 13, 46, 0.30);
}
/* the title bar + × belong to the mobile sheet; on desktop the Каталог button is the
 * close control and a heading over a dropdown would just be noise */
.aitas-cat-panel__head { display: none; }
.aitas-cat-panel__inner {
    display: flex;
    margin: 0 auto;
    width: 1600px;
    max-width: 94%;
    max-height: calc(100vh - 120px);
}
.aitas-cat-rail {
    flex: 0 0 300px;
    list-style: none;
    margin: 0;
    padding: 14px 0;
    border-right: 1px solid #EDF3F9;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #C9D9E8 transparent;
}
.aitas-cat-rail li { margin: 0; padding: 0; }
.aitas-cat-rail a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 18px 11px 26px;
    font-size: 15px;
    font-weight: 600;
    color: #0F3350;
}
.aitas-cat-rail li.is-active > a { background: #F0F6FB; color: #1d80c7; }
.aitas-cat-rail svg { flex: none; opacity: 0.45; }
/* Бренди leads the rail (r7b) and has to read as its own thing, not as a ninth category:
 * accent type, an accent edge down its left side, and the hairline separating it from the
 * categories below. The .is-active background still applies on top when it is selected. */
.aitas-cat-rail__brands {
    border-bottom: 1px solid #E2ECF5;
    margin-bottom: 6px;
    padding-bottom: 6px;
}
.aitas-cat-rail__brands > a {
    border-left: 3px solid #4F9AD0;
    padding-left: 23px; /* 26 − the 3px edge: the label stays on the categories' text axis */
    color: #1d80c7;
    font-weight: 700;
}
.aitas-cat-rail__brands > a svg { opacity: 0.7; }

.aitas-cat-panes {
    flex: 1 1 auto;
    min-width: 0;
    overflow-y: auto;
    padding: 22px 28px;
    scrollbar-width: thin;
    scrollbar-color: #C9D9E8 transparent;
}
.aitas-cat-pane { display: none; }
.aitas-cat-pane.is-active { display: block; }
.aitas-cat-pane__all {
    display: inline-block;
    margin-bottom: 14px;
    font-size: 14px;
    font-weight: 600;
    color: #1d80c7;
}
.aitas-cat-pane__all:hover { color: #4F9AD0; }
.aitas-cat-pane__cols { column-count: 3; column-gap: 32px; }
.aitas-cat-group { break-inside: avoid; margin: 0 0 20px; }
/* A pane that is ONE flat list (no group headings to break between — «Дезінфікуючі
 * засоби», «Наконечники») would sit in a single tall column with two empty ones beside
 * it, because the group is unbreakable. Let such a list flow across the columns instead,
 * keeping individual entries whole. header.php only adds --flow past 6 entries: a short
 * list looks right in one column and silly spread over three. */
.aitas-cat-group--flow { break-inside: auto; }
.aitas-cat-group--flow li { break-inside: avoid; }
.aitas-cat-group__title {
    display: block;
    margin-bottom: 8px;
    font-size: 15px;
    font-weight: 700;
    color: #0F3350;
}
.aitas-cat-group__title:hover { color: #1d80c7; }
.aitas-cat-group ul { list-style: none; margin: 0; padding: 0; }
.aitas-cat-group ul ul { padding-left: 12px; } /* deeper levels indent */
.aitas-cat-group li { margin: 0; padding: 0; }
.aitas-cat-group li a { display: block; padding: 4px 0; font-size: 14px; color: #3E5568; }
.aitas-cat-group li a:hover { color: #1d80c7; }
.aitas-cat-deep > a { font-size: 13px; color: #6B7E90; }

/* --- brand grid (catalog panel pane) -----------------------------------------
 * r7: the logo is the thing a visitor recognises, so it carries the tile — bigger
 * mark, smaller caption under it. The tile grew with the logo so the caption keeps
 * its breathing room. */
.aitas-brand-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(164px, 1fr));
    gap: 12px;
}
.aitas-brand-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 116px;
    padding: 12px 10px;
    background: #fff;
    border: 1px solid #EDF3F9;
    border-radius: 12px;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.aitas-brand-tile:hover { border-color: #4F9AD0; box-shadow: 0 6px 18px rgba(0, 13, 46, 0.08); }
.aitas-brand-tile img { max-width: 140px; max-height: 64px; width: auto; height: auto; object-fit: contain; }
.aitas-brand-tile__noimg {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #F0F6FB;
    color: #4F9AD0;
    font-size: 18px;
    font-weight: 700;
}
.aitas-brand-tile__name { font-size: 11px; font-weight: 600; color: #3E5568; text-align: center; }

/* --- drawer top: logo (mobile) + the Каталог button ---------------------------
 * r7: the drawer's catalog accordion is gone — Каталог opens the mega-panel as a
 * full-screen sheet instead, so mobile and desktop share ONE catalog surface (and
 * the term tree renders once per page instead of twice). On desktop the whole row
 * is hidden: Каталог lives in the stripe, two centimetres away. */
.aitas-drawer-brand { display: none; } /* desktop: the corner logo floats above the drawer */
.aitas-drawer-row {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 18px;
}
@media (min-width: 992px) {
    .aitas-drawer-row { display: none; }
}
.aitas-drawer-cat {
    flex: 0 0 auto; /* r7: was 1 1 auto — a full-bleed ghost pill read as a banner, not a button */
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 44px;
    min-width: 190px;
    padding: 0 28px;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.30);
    border-radius: 10px;
    color: #fff;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}
.aitas-drawer-cat:hover { background: rgba(255, 255, 255, 0.10); border-color: rgba(255, 255, 255, 0.60); }
.aitas-drawer-cat svg { flex: none; }

/* «Каталоги» is a submenu toggle, not a destination (functions.php gives it url '#',
 * crypt.js swallows the click) — its own row should not look clickable-to-elsewhere. */
.aitas-menu-catalogs > a { cursor: pointer; }

/* --- relocated front-page H1: plain minimal line above the offers «Магазин» button ---
 * r7 — two fixes.
 * (1) Centring. The line is a flex item in a bootstrap .row, so it shrank to its own text
 *     width (573px of a 1310px row) and sat hard against the left edge; `text-align:center`
 *     was faithfully centring the text INSIDE that narrow box. width:100% is what actually
 *     centres it on the page.
 * (2) Spacing. The theme parks the «Магазин» button 74px below the line and another 74px
 *     above the brands section (style.css: section.mobile_offers_block{margin-bottom:60px;
 *     padding-bottom:14px} + .btn_block{margin-top:74px}) — the H1 read as orphaned text
 *     rather than the button's caption. Both gaps come in; the same selectors are used so
 *     this simply outranks style.css by load order (crypt.css is enqueued after it). */
.aitas-seo-line { width: 100%; margin: 24px 0 0; text-align: center; }
.aitas-seo-line h1 {
    max-width: 900px;
    margin: 0 auto;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 600;
    color: #3E5568;
    text-align: center;
}
@media (min-width: 1025px) {
    section.mobile_offers_block .btn_block { margin-top: 20px; }
    section.mobile_offers_block { margin-bottom: 26px; } /* + the block's own 14px padding = 40 */
}
@media (max-width: 1024px) {
    section.mobile_offers_block .btn_block { margin-top: 18px; }
    section.mobile_offers_block { margin-bottom: 20px; } /* + 14px padding = 34 */
}

/* --- checkout review table (phones): the theme's extra unit-price column
 * (th.product-price-crypt / td.product-price) pushed the «Сума» column ~104px
 * off-screen at 390px (pre-existing; caught by the round-6 battery). The line
 * total plus the ×qty beside the name already carry the information — drop the
 * middle column on phones and let the name cells wrap. --- */
@media (max-width: 520px) {
    .woocommerce-checkout-review-order-table th.product-price,
    .woocommerce-checkout-review-order-table td.product-price { display: none; }
    .woocommerce-checkout-review-order-table th,
    .woocommerce-checkout-review-order-table td { word-break: break-word; }
}

/* --- shop search context: clear chip under the «Результати пошуку …» H1 --- */
.aitas-search-clear {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 8px 0 0;
    padding: 7px 14px;
    background: #F0F6FB;
    border: 1px solid #E2ECF5;
    border-radius: 100px;
    font-size: 13.5px;
    font-weight: 600;
    color: #0F3350;
    transition: border-color 0.15s, color 0.15s;
}
.aitas-search-clear:hover { border-color: #4F9AD0; color: #1d80c7; }

/* --- a11y / motion --- */
.aitas-stripe :focus-visible,
.aitas-corner-logo:focus-visible,
.aitas-cat-panel :focus-visible,
.crypt-modal-window :focus-visible {
    outline: 2px solid #7CC0EA;
    outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
    .aitas-stripe *,
    .aitas-search-panel,
    .aitas-search-panel *,
    .aitas-cat-panel *,
    .aitas-drawer-cat *,
    .main_menu,
    .crypt-modal-window * { transition: none !important; animation: none !important; }
}

/* --- mobile (≤991px): burger · home · search · phone · cart --- */
@media (max-width: 991px) {
    .aitas-stripe { gap: 8px; padding: 6px 10px; } /* r5: 8→6, row is 56px (6 + 44 + 6) */
    .aitas-catalog-btn,
    .aitas-search__submit,
    .aitas-account { display: none; }

    /* --- Каталог as a full-screen sheet (r7) ---------------------------------
     * The SAME panel as on desktop, presented the way a phone wants it (the Rozetka
     * pattern): its own title bar and ×, a narrow tap-to-switch category rail, the
     * pane beside it. It replaces the old in-drawer <details> accordion entirely.
     * z-index 25 puts it over the stripe (20) and the drawer (12) inside the header's
     * stacking context, so it really does cover the viewport. */
    .aitas-cat-panel {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 25;
        display: flex;
        flex-direction: column;
        background: #fff;
        border-top: none;
        box-shadow: none;
    }
    .aitas-cat-panel[hidden] { display: none; } /* `display:flex` above would defeat the attribute */
    .aitas-cat-backdrop { display: none !important; } /* the sheet is opaque and full-bleed */
    .aitas-cat-panel__head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        flex: none;
        padding: 8px 8px 8px 16px;
        border-bottom: 1px solid #EDF3F9;
    }
    .aitas-cat-panel__heading { font-size: 17px; font-weight: 700; color: #0F3350; }
    .aitas-cat-close {
        flex: none;
        width: 44px;
        height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: none;
        border: none;
        padding: 0;
        color: #0F3350;
        cursor: pointer;
    }
    .aitas-cat-panel__inner { width: 100%; max-width: 100%; max-height: none; flex: 1 1 auto; min-height: 0; }
    .aitas-cat-rail { flex: 0 0 122px; padding: 8px 0; }
    .aitas-cat-rail a { padding: 11px 10px 11px 12px; font-size: 12.5px; line-height: 1.25; white-space: normal; }
    .aitas-cat-rail svg { display: none; } /* the pane beside it IS the disclosure */
    .aitas-cat-panes { padding: 14px 14px 40px; }
    .aitas-cat-pane__cols { column-count: 1; }
    .aitas-cat-pane__all {
        display: block;
        margin-bottom: 12px;
        padding-bottom: 12px;
        border-bottom: 1px solid #EDF3F9;
        font-size: 15px;
    }
    /* the pane is ~240px wide next to the rail — the minimum has to be small enough for
     * TWO tiles (2 × 104 + 8 = 216) or auto-fill drops to a single column and the grid
     * turns into a very long ladder */
    .aitas-brand-grid { grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 8px; }
    .aitas-brand-tile { min-height: 92px; padding: 10px 6px; }
    .aitas-brand-tile img { max-width: 88px; max-height: 42px; }
    .aitas-brand-tile__name { font-size: 10.5px; }

    /* the phone icon is a 44px button around a 26px glyph, so it carries 9px of dead space
     * on its left — the search pill looked marooned even though the flex gap was the same 8px
     * as on the home side. Pulling the icon group left by exactly that 9px makes the two
     * optical gaps equal (the pill is flex:1, so it simply grows; the cart stays on the
     * right edge). */
    .aitas-actions { margin-left: -9px; }

    /* drawer top: the logo is back (clickable, white raster at its old integer box) and
     * centred; the home icon left the drawer for the stripe, so Каталог stands alone.
     * The wordmark is not optically symmetric (the globe hangs off the S), so dead-centring
     * its BOX leaves it looking a touch left — nudge it back with a transform, which moves
     * the picture without touching the layout. */
    .aitas-drawer-brand { display: flex; justify-content: center; margin: 0 0 16px; line-height: 0; }
    .aitas-drawer-brand img { display: block; width: 73px; height: 34px; transform: translateX(12px); }

    .aitas-seo-line { margin: 18px 0 0; }
    .aitas-seo-line h1 { font-size: 13px; line-height: 1.35; }
    /* only the square shrinks (44×44, matching .aitas-icon-btn); the glyph inside keeps
     * its desktop size, exactly as the 26px action-icon SVGs do at this breakpoint */
    .site-header .aitas-stripe .open_icon { width: 44px; height: 44px; }
    .site-header .aitas-stripe .open_icon.open span:nth-child(1) { transform: translate(-50%, -50%) rotate(45deg); }
    .site-header .aitas-stripe .open_icon.open span:nth-child(2) { transform: translate(-50%, -50%) scaleX(0.2); }
    .site-header .aitas-stripe .open_icon.open span:nth-child(3) { transform: translate(-50%, -50%) rotate(-45deg); }
    /* drawer clears the 56px mobile stripe */
    .main_menu .row_header .col_small { padding-top: 72px; }
    .aitas-icon-btn { width: 44px; height: 44px; }
    .aitas-search__form { height: 44px; }
    .aitas-search__lens { width: 38px; }
    .aitas-search__field { font-size: 16px; } /* ≥16px: iOS Safari must not auto-zoom on focus */
    /* the panel hangs off the stripe (not the viewport) so it tracks the sticky header
     * and the hero strip above it, and stays clear of the admin bar */
    .aitas-search { position: static; }
    .aitas-search-panel {
        top: calc(100% + 6px);
        left: 10px;
        right: 10px;
        max-height: 70vh;
        overflow-y: auto;
    }
    .aitas-search-panel__chips a { white-space: normal; }
    .cart_data > span { top: 0; right: 0; }
}
/* ==================================================== 2026-07-09 stripe end */
/* aitas-crumbs-compact 2026-07-16 — site-wide one-line breadcrumbs (product-card
   redesign, owner directive r5: ships on ALL pages). div.broadcrumb_section is the
   crumb-line wrapper the theme's woocommerce_breadcrumb() outputs everywhere —
   the product page renders it directly, archives nest it inside
   section.broadcrumb_section > .broadcrumb (the section keeps its old rules).
   Deploy marker (survives min comment-stripping): --aitas-crumbs-compact */
div.broadcrumb_section{--aitas-crumbs-compact:1;text-align:left;white-space:nowrap;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none;color:#808696;margin:0 0 4px;padding:12px 2px 8px}
div.broadcrumb_section::-webkit-scrollbar{display:none}
div.broadcrumb_section .breadcrumb-title,div.broadcrumb_section .breadcrumb-title a{font-size:12.5px;line-height:1.6;color:#808696;text-decoration:none;font-variant-numeric:lining-nums}
div.broadcrumb_section .breadcrumb-title a:hover{color:#1d80c7}
div.broadcrumb_section .breadcrumb-title:last-child{color:#98A2B3}
body .content-area:has(.broadcrumb_section){margin-top:0}
/* === aitas-spacing-rescope 2026-07-21 (theme-rule-fix-1) ===
   Neutralizes the bundle's global section{margin-bottom:120px;overflow:hidden}
   for every <section> NOT carrying a legacy class token (census 2026-07-21:
   49 emissions, 45 tokens, zero class-less, zero DB-stored). Legacy sections
   keep the ORIGINAL bundle rule -- bit-for-bit cascade parity. Specificity
   stays 0,0,1 (:not(:where())=0). New redesign markup is clean by default. */
:root{--aitas-rescope-v:1}
section:not(:where(.gutter,.similar_section,.aitas-sect,.crypt_form,.blog,.section_page,.promotions,.brands_section,.products_by_topic_block,.woocommerce,.main_catalog,.promo_section,.ready_projects_section,.event_section,.testimonial_section,.mobile_offers_block,.banner_section,.bg,.timer-section,.top_block_section,.grid_image_block_section,.videos_slider_section,.lectors_section,.best_offers_section,.products_section,.contact_section,.accordion,.top_block_course_section,.benefit_dection,.contact,.about-us-section,.event_title_section,.blog_section,.study_section,.aitas-cart-suggest,.broadcrumb_section,.filter_section,.woocommerce-order-downloads,.services,.courses,.no-results,.not-found,.brand-catalog,.error-404,.widget)){margin-bottom:0;overflow:visible}
/* === aitas-spacing-rescope EXT 2026-07-21: clean-room typography inside .aitas-scope ===
   Neutralizes the bundle's bare a{font-size:18px;line-height:18px} and p{line-height:32px}
   for scoped redesign markup only. :where keeps these at 0,1,0 so redesign stylesheets
   (equal specificity, later in cascade) override freely. Legacy DOM has no .aitas-scope
   ancestor (verified absent theme+DB) => zero legacy effect. */
:root{--aitas-rescope-ext:1}
.aitas-scope :where(p){line-height:inherit;font-size:inherit}
.aitas-scope :where(a){font-size:inherit;line-height:inherit}
/* === aitas-rescope fence v2 (wcskin) 2026-07-23 (check-theme-spacingwork-1) ===
   Neutralizes the 2021 legacy WC checkout skin - bundle inc/style/style.css
   .woocommerce-checkout-review-order{background:rgba(248,251,255,.8);
   box-shadow:0 20px 30px rgba(125,138,159,.2);padding:20px 40px;margin-bottom:40px}
   - inside .aitas-scope redesign roots only (5th leak class: legacy skins on KEPT
   WC classes). :where keeps specificity 0,1,0 so redesign stylesheets override
   freely; crypt.css loads after the bundle, so cascade order wins the tie.
   Inert wherever no .aitas-scope ancestor exists (prod until the checkout port). */
:root{--aitas-rescope-wcskin:1}
.aitas-scope :where(.woocommerce-checkout-review-order){background:none;box-shadow:none;padding:0;margin:0}
