/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Description: GeneratePress
Author: Lumika
Template: generatepress
Version: 1.0.0
Text Domain: gp-child
*/
:root {
    --ui-accent: #b50000;
    --ui-accent-2: #8d0000;
    --ui_white: #ffffff;
    --ui-title-muted: #474747;
    --ui-muted: #6b7280;
    --ui-accent-shadow-1: #4564774d;
    --ui-accent-shadow-2: #45647766;
    --ui-bg-soft: #f7f9ff;
    --ui-bg-first: #f9f9f9;
    --ui-bg-second: #fbfbfb;
    --ui-bg-hover: #f4f4f4;
    --ui-link-hover: #9d9d9d;
    --ui_radius: 30px;
    --ui_radius_mini: 6px;
    --ui_padding: 20px;
    --lh: 1.7;
}
.site-header {
    background: var(--ui_white);
}
.main-navigation {
    background: transparent;
}
.main-navigation .main-nav ul.main-menu>li.menu-item-has-children>a,
.main-navigation .main-nav ul.main-menu>li>a {
    font-size: 18px;
    font-weight: normal;
    padding: 0px 5px;
}
h1 {
    font-family: 'Geometria', Arial, sans-serif;
}
.bold {
    font-weight: bold;
}
.center {
    text-align: center;
}
.site-content {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
.error404 .content-area {
    width: 100%;
}
.error404 .content-area .inside-article {
    background: none;
}
.head1 {
    font-size: 22px;
    margin-bottom: 20px;
}
.entry-content ul:not([class])>li:before {
    border: 3px solid var(--ui-accent);
}
.entry-content ol:not([class])>li:before {
    color: var(--ui-accent);
}
.ui_block_service h1 {
    text-align: center;
}
.ui_block_service h2,
.ui_block_service h3,
.content_overflow h2,
.content_overflow h3 {
    margin: 1em 0 1em;
    color: var(--ui-accent);
}
input[type=text]:focus,
input[type=tel]:focus {
    border: 1px solid var(--ui-accent-2);
}
.flex50 {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
}
.flex50 > div {
    width: 50%;
    display: flex;
    flex-direction: column;
}
.flex50 img {
    background: #ccc;
    margin-bottom: 10px;
}
@media (max-width: 1000px) {
    .flex50 {
        flex-direction: column;
    }
    .flex50 > div {
        width: 100%;
    }
}
.ui_flex {
    display: flex;
    flex-direction: row;
}
.ui_block {
    border-radius: var(--ui_radius);
    margin-bottom: 100px;
}
.ui_block_0 {
    border-radius: var(--ui_radius);
    margin-bottom: 100px;
}
.ui_block_wide {
    margin-bottom: 100px;
    gap: var(--ui_padding);
}
.ui_block_border {
    border-radius: var(--ui_radius);
}

.ui_wrap {
    border-radius: var(--ui_radius);
    gap: var(--ui_padding);
}
.ui_wrap_mini {
    border-radius: var(--ui_radius);
    gap: var(--ui_padding_mini);
}
.ui_50 {
    width: 50%;
    padding: var(--ui_padding);
}
.ui_25 {
    width: 25%;
}
.ui_20 {
    width: 20%;
}
.ui_80 {
    width: 80%;
}
.ui_block_service {
    max-width: 1500px;
    margin: 0px auto;
}
@media (max-width: 1500px) {
    .ui_padding {
        padding: var(--ui_padding);
    }
}

.fixed.site-content {
    max-width: 100%;
    padding: 0px;
}
.fixed.site-header-inner,
.fixed.site-footer-inner,
.main-navigation.fixed,
.breadcrumb {
    max-width: 1190px;
    max-width: 1500px;
}
.ui_block, .ui_block_0 {
    max-width: 1500px;
    margin: 100px auto;
}
@media (max-width: 992px) {
    .fixed.site-content {
        max-width: 100%;
    }
    .fixed.site-header-inner,
    .fixed.site-footer-inner,
    .main-navigation.fixed,
    .breadcrumb {
        max-width: 960px;
    }
    .ui_block, .ui_block_0 {
        max-width: 95%;
    }
}
@media (max-width: 768px) {
    .fixed.site-content {
        max-width: 100%;
        padding: 0px;
    }
    .fixed.site-header-inner,
    .fixed.site-footer-inner,
    .main-navigation.fixed,
    .breadcrumb {
        max-width: 720px;
    }
    .ui_block, .ui_block_0 {
        max-width: 98%;
    }
}

#content form label {
    display: flex;
    flex-direction: column;
    margin-bottom: 0px;
    margin-top: 15px;
}
#content form p {
    margin-bottom: 0px !important;
}
.breadcrumb {
    padding: 10px var(--ui_padding);
    margin: 0px auto;
    width: 95%;
}

.ui_block iframe,
.ui_block_0 iframe {
    border-radius: var(--ui_radius);
    width: 100% !important;
}
.ui_block_wide iframe {
    width: 100% !important;
}

.content_overflow {
    max-height: 365px;
    overflow: hidden;
    position: relative;
}
.content_overflow.expand {
    max-height: none;
    height: auto;
    overflow: hidden;
}
.expand-button .less, .expand-button.btn-more .more {
    display: none;
}
.expand-button .more, .expand-button.btn-more .less {
    display: block;
    padding: 7px;
    width: 200px;
    margin-top: 26px;
    background-color: var(--ui-accent);
    border-radius: 10px;
    color: var(--ui_white);
    font-weight: bold;
    height: 40px;
    border: none;
}
.expand-button {
    text-align: center;
    cursor: pointer;
    display: flex;
    justify-content: center;
}
.content_overflow:before {
    content: "\00a0";
    height: 120px;
    width: 100%;
    position: absolute;
    display: block;
    bottom: 0;
    z-index: 1;
    background-image: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
}
.content_overflow.expand:before {
    height: 0;
}
.hidden {
    visibility: hidden;
}


.wpcf7-form label {
    width: 100%;
}
input.wpcf7-text,
input.wpcf7-mask,
select.wpcf7-select {
    width: 100%;
    background-color: var(--ui_white);
    padding: 10px;
    border: 1px solid #ced4da;
    border-radius: var(--ui_radius, 12px);
    margin-top: 10px;
}
select.wpcf7-select {
    cursor: pointer;
}
input.wpcf7-text:hover,
select.wpcf7-select:hover {
    border: 1px solid #ced4da;
}
input.wpcf7-submit,
button.wpcf7-submit {
    width: 100%;
    text-align: center;
    background: var(--ui-accent);
    color: var(--ui_white);
    height: 50px;
    border-radius: var(--ui_radius);
}
input.wpcf7-submit:hover,
button.wpcf7-submit:hover {
    background: var(--ui-accent-2);
    color: var(--ui_white);
}
.fancy-modal-content input.wpcf7-submit,
.sticky-btn-modal input.wpcf7-submit {
    margin-top: 15px;
}
.fancy-modal-content p {
    margin-bottom: 15px;
}

.qb-product {
    display: flex;
    align-items: center;
    gap: 16px;
    background: var(--ui-bg, #f8f8f8);
    border: 1px solid var(--ui-border, #e8e8e8);
    border-radius: var(--ui_radius,12px);
    padding: 12px;
}
.qb-product__img {
    width: 90px;
    height: 90px;
    object-fit: cover;
    border-radius: var(--ui_radius,8px);
    flex-shrink: 0;
    background: #fff;
}
.qb-product__info {
    flex: 1;
    min-width: 0;
}
.qb-product__name {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--ui-title, #1a1a1a);
    margin-bottom: 6px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
}
.qb-product__price {
    font-size: 18px;
    font-weight: 700;
    color: var(--ui-accent);
}
.buy-one-click-btn--solo {
    background-color: var(--ui-accent) !important;
    border-color: var(--ui-accent) !important;
    color: #fff !important;
}
.buy-one-click-btn--solo:hover {
    filter: brightness(0.9);
}
.product-add-to-cart--split {
    display: flex;
    gap: 8px;
}
.product-add-to-cart--split .button {
    flex: 1 1 0;
    min-width: 0;
    text-align: center;
    padding-left: 4px;
    padding-right: 4px;
}
.product-add-to-cart--split .buy-one-click-btn {
    background-color: #fff !important;
    border: 2px solid var(--ui-accent) !important;
    color: var(--ui-accent) !important;
}
.product-add-to-cart--split .buy-one-click-btn:hover {
    background-color: var(--ui-accent) !important;
    color: #fff !important;
}

.wpcf7-submit-type1 {
    cursor: pointer;
    padding: 6px 12px;
    font-size: 18px;
    display: inline-block;
    background-color: var(--ui-accent);
    color: white;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s;
    border: 1px solid #ced4da;
}
.wpcf7-submit-type1:hover {
    color: var(--ui-accent-2);
}
.wpcf7-submit-type2 {
    cursor: pointer;
    background-color: rgb(243, 255, 8);
    border-radius: 15px;
    border-style: solid;
    border-width: 4px;
    border-color: rgb(25, 38, 112);
    padding: 14px 34px;
    font-size: 21px;
    font-weight: bold;
    color: rgb(25, 38, 112);
}
.wpcf7-submit-type2:hover {
    background-color: rgb(67, 59, 129);
    border-color: rgb(67, 59, 129);
    color: rgb(255, 255, 255);
}

.wpcf7-not-valid-tip {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 5px;
    font-size: 12px;
    color: #e53935;
    font-weight: 500;
    line-height: 1.3;
}
.wpcf7-not-valid-tip::before {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e53935'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.wpcf7-not-valid {
    border-color: #e53935 !important;
    background-color: #fff5f5 !important;
}

.wpcf7-response-output {
    margin: 16px 0 0;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    border: none !important;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.wpcf7-response-output::before {
    content: '';
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    margin-top: 1px;
    background: center/contain no-repeat;
}

.wpcf7 form.sent .wpcf7-response-output {
    background: #f0fdf4;
    color: #166534;
}
.wpcf7 form.sent .wpcf7-response-output::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23166534'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/%3E%3C/svg%3E");
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    background: #fff5f5;
    color: #991b1b;
}
.wpcf7 form.invalid .wpcf7-response-output::before,
.wpcf7 form.unaccepted .wpcf7-response-output::before,
.wpcf7 form.payment-required .wpcf7-response-output::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23991b1b'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z'/%3E%3C/svg%3E");
}

.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
    background: #fefce8;
    color: #854d0e;
}
.wpcf7 form.spam .wpcf7-response-output::before,
.wpcf7 form.failed .wpcf7-response-output::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23854d0e'%3E%3Cpath d='M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z'/%3E%3C/svg%3E");
}

.wpcf7-spinner {
    display: none;
}

.wpcf7-button-submit-type3 {
    color: var(--ui_white);
    background-color: var(--ui-accent);
    display: block;
    height: 50px;
    line-height: 18px;
    text-align: center;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 14px;
    text-decoration: none;
    border-radius: 5px;
    box-sizing: border-box;
    border: 0;
    cursor: pointer;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: 0px center;
    transition: all 0.2s ease;
    transition-delay: 0;
    padding-left: 50px;
}
.wpcf7-button-submit-type3:hover {
    color: var(--ui_white);
    background-color: var(--ui-accent-2);
    transition-delay: 0.2s;
}
.wpcf7-button-submit-type3 svg {
    width: 30px;
    height: 100%;
    position: absolute;
    left: 10px;
    top: 0px;
}

.wpcf7-button-submit-type4 {
    color: var(--ui-title-muted);
    background: var(--ui_white);
    border: 1px solid var(--ui-accent);
    display: block;
    height: 50px;
    line-height: 18px;
    text-align: center;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 14px;
    text-decoration: none;
    border-radius: 5px;
    box-sizing: border-box;
    cursor: pointer;
    transition: all 0.2s ease;
    transition-delay: 0;
    padding-left: 50px;
}
.wpcf7-button-submit-type4:hover {
    color: var(--ui_white);
    background: linear-gradient(83.86deg, var(--ui-accent) 0%, var(--ui-accent-2) 100%);
    border: 1px solid var(--ui-accent-2);
    transition-delay: 0.2s;
}
.wpcf7-button-submit-type4 svg {
    width: 30px;
    fill: var(--ui-title-muted);
    height: 100%;
    position: absolute;
    left: 10px;
    top: 0px;
}
.wpcf7-button-submit-type4:hover svg {
    fill: var(--ui_white);
}


.wpcf7-button-submit-type5 {
    color: var(--ui_white);
    background-color: var(--ui-accent);
    display: block;
    height: 50px;
    line-height: 18px;
    text-align: center;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 14px;
    text-decoration: none;
    border-radius: 5px;
    box-sizing: border-box;
    border: 0;
    cursor: pointer;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: 0px center;
    transition: all 0.2s ease;
    transition-delay: 0;
}
.wpcf7-button-submit-type5:hover {
    color: var(--ui_white);
    background-color: var(--ui-accent-2);
    transition-delay: 0.2s;
}

.glow-button {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.glow-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(120deg, rgba(255,255,255,0.2), rgba(255,255,255,0.6), rgba(255,255,255,0.2));
  transform: skewX(-25deg);
  z-index: 2;
  animation: glow-sweep 2.5s infinite;
  pointer-events: none;
}

@keyframes glow-sweep {
  0% {
    left: -75%;
  }
  100% {
    left: 125%;
  }
}

#splide__otzyvy .splide__slide {
    display: flex;
    flex-direction: row;
}

.works_wrapper .splide__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--ui_radius);
}

.links_wrap_simple ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px;
    margin: 0px;
    padding: 0px;
}
.links_wrap_simple ul li {
    border: none;
}
.links_wrap_simple ul li a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding: 7px;
    text-decoration: none;
    border-radius: 10px;
    color: var(--ui_white);
    background-color: var(--ui-title-muted);
}

.links_wrap ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px;
    margin: 0px;
    padding: 0px;
}
.links_wrap ul li {
    border: none;
}
.links_wrap ul li a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding: 7px 14px 7px 40px;
    text-decoration: none;
    border-radius: 10px;
    color: var(--ui_white);
    background-color: var(--ui-title-muted);
}
.links_wrap ul li a::before {
    content: url('/wp-content/uploads/svg/link.svg');;
    position: absolute;
    width: 20px;
    height: 20px;
    left: 10px;
    top: 10px;
    animation: rotate 3s linear infinite;
}
@keyframes rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}  
.links_wrap ul li:hover a::before {
    fill: green;
    animation: none;
}
.links_wrap ul li:hover a {
    color: var(--ui_white) !important;
    background-color: var(--ui-accent-2);
}
.links_wrap ul li::marker {
    display: none;
}

.link_phone {
    margin: 10px 0px;
}
.icon_phone {
    fill: var(--ui_white);
    width: 20px;
    margin-right: 10px;
}
a.phone_type1 {
    display: inline-block;
    font-size: 18px;
    text-decoration: none;
}
a.phone_fff,
.header_wrap a.phone_type1,
.footer2 a.phone_type1 {
    color: var(--ui_white);
}
a.phone_type1:hover {
    color: var(--ui-accent-2);
}
a.phone_type1 .icon_phone {
    fill: var(--ui-title-muted);
}
a.phone_fff .icon_phone,
.header_wrap a.phone_type1 .icon_phone,
.footer2 a.phone_type1 .icon_phone {
    fill: var(--ui_white);
}
a.phone_big {
    font-size: 24px;
}
a.phone_big .icon_phone {
    fill: var(--ui-accent);
}

.fancybox__content {
    border-radius: var(--ui_radius,20px);
    max-width: 600px;
}
.social_wrap {
    display: flex;
    flex-direction: row;
    gap: 10px;
}
.social_wrap svg {
    width: 35px;
}
.header_wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}
.site-title {
    font-size: 20px;
}
.site-description {
    max-width: 230px;
    font-size: 14px;
}

.footer-widgets {
    gap: 10px;
}
.widget__head {
    font-size: 18px;
    margin-bottom: .5em;
    font-weight: bold;
}
.footer-widget {
    width: 25%;
    margin: 0px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.footer1_block {
    display: flex;
    flex-direction: column;
    gap: 10px;
    text-align: left;
}
.footer2_block {
    margin: 20px 0px;
}
.footer2 .wpcf7-submit {
    margin: 0px 0px 10px 0px;
    border-radius: 10px;
}
.footer2 .wpcf7-button-submit-type4 {
    margin: 10px 0px;
    border: 1px solid transparent;
}
.footer2_text {
    font-size: 16px;
    margin: 10px 0px;
}
@media (max-width: 767px) {
    .footer-widget {
        width: 100%;
    }
    .footer2 {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }
    .footer-widget .menu {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}

@media (max-width: 1200px) {
    .dogovor_body {
        font-size: 20px;
    }
}
@media (max-width: 1200px) {
    .types_wrap {
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .types_el {
        width: 48%;
        justify-content: flex-start;
    }
}
@media (max-width: 1000px) {
    a.phone_type1 {
        font-size: 14px;
    }
    .wpcf7-submit-type1 {
        font-size: 14px;
    }
}
@media (max-width: 900px) {
    .slide_l_wrap {
        width: 100%;
    }
    .slide_r_wrap {
        display: none;
    }
    .benefits_wrap {
        flex-wrap: wrap;
    }
    .benefits_el {
        width: 33%;
    }
    .about_block {
        flex-direction: column-reverse;
    }
    .about_l_wrap {
        width: 100%;
    }
    .about_r_wrap {
        width: 100%;
    }
    .types_wrap {
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .types_el {
        width: 46%;
    }
    .howwork_wrap {
        flex-wrap: wrap;
    }
    .howwork_el {
        width: 48%;
    }
    .rassrochka_head {
       font-size: 25px;
       text-align: center;
    }
    .rassrochka_body {
       font-size: 18px;
       text-align: center;
    }
    .dogovor_wrap {
        flex-direction: column;
    }
    .dogovor_body {
        margin-bottom: 30px;
    }
    .otzyvy_el_text {
        font-size: 14px;
    }
    .otzyvy_el_main {
        width: 50%;
    }
    .otzyvy_el_image {
        width: 50%;
    }
    .about_block {
        flex-direction: column;
    }
}
@media (max-width: 750px) {
    .rassrochka_wrap {
        flex-direction: column;
    }
    .rassrochka_l {
        display: flex;
        flex-direction: column;
        margin-bottom: 50px;
    }
}
@media (max-width: 600px) {
    .types_el {
        width: 100%;
    }
}
@media (max-width: 580px) {
    .benefits_el {
        width: 48%;
    }
    .benefit_text {
        font-size: 14px;
    }
    .howwork_wrap {
        flex-direction: column;
    }
    .howwork_el {
        width: 100%;
    }
    .akcii_body {
        font-size: 16px;
        padding: 50px;
    }
}
@media (max-width: 500px) {
    .material_wrap {
        flex-direction: column;
        padding: 15px 0px;
    }
    .material_l {
        width: 110px;
    }
    .benefits_wrap {
        justify-content: center;
        align-items: flex-start;
    }
}

.header_wrap .wpcf7-submit-type1 {
    animation: animate-submit 1.2s infinite linear;
    backface-visibility: hidden;
}
.rasschitat_body .wpcf7-submit-type2 {
    animation: animate-submit 1.2s infinite linear;
    backface-visibility: hidden;
}
@keyframes animate-submit {
    0% {
        transform: translateY(0px) scale(1, 1);
        animation-timing-function: 0;
    }
    37.5% {
        transform: translateY(1px) scale(1.1, 1.1);
        animation-timing-function: 0;
    }
    100% {
        transform: translateY(0px) scale(1, 1);
    }
}

.advantages {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  max-width: 800px;
  margin: 0 auto;
  background-color: #f2f2f2;
  padding: 40px;
  border-radius: 8px;
  margin-bottom: 10px;
}
.advantage-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: #5e4a36;
  font-size: 16px;
  line-height: 1.4;
  transition: transform 0.3s ease;
  cursor: pointer;
}
.advantage-item svg {
  margin-top: 4px;
  width: 32px;
  height: 32px;
  stroke: var(--ui-accent);
  transition: stroke 0.3s ease, transform 0.3s ease;
}
.advantage-item:hover .icon-svg {
  stroke: #218838;
  transform: scale(1.1);
}
.advantage-item:hover {
  transform: translateY(-2px);
}

@media (max-width: 600px) {
  .advantages {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 24px;
  }
  .advantage-item {
    font-size: 15px;
  }
  .advantage-item img {
    width: 22px;
    height: 22px;
  }
}

.promo-block {
  text-align: center;
  padding: 40px 20px;
  background-color: var(--ui_white);
}
.promo-title {
  font-size: 24px;
  line-height: 1.5;
  margin-bottom: 40px;
  color: var(--ui-title-muted);
}
.promo-title span {
  font-size: 26px;
  font-weight: bold;
  color: var(--ui_main_color);
}
.promo-grid {
  display: flex;
  gap: 30px;
  justify-content: center;
  flex-wrap: wrap;
}
.promo-item {
    cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  background-color: var(--ui_white);
  border-radius: 16px;
  padding: 20px;
  max-width: 280px;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  justify-content: space-between;
}
.promo-item img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  margin-bottom: 16px;
}
.promo-item p {
  font-size: 15px;
  color: var(--ui-title-muted);
  line-height: 1.4;
  margin-bottom: 16px;
}
.promo-btn {
  background-color: var(--ui-accent);
  color: var(--ui_white);
  padding: 10px 18px;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
}
.promo-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}
.promo-btn:hover {
  background-color: #218838;
  transform: scale(1.05);
}
.promo-btn:active {
  transform: scale(0.95);
}

@media (max-width: 768px) {
  .promo-title {
    font-size: 20px;
  }
  .promo-title span {
    font-size: 22px;
  }
  .promo-grid {
    flex-direction: column;
    gap: 24px;
    align-items: center;
  }
  .promo-item {
    max-width: 100%;
    padding: 70px;
  }
}

.hero {
  background: url('/wp-content/themes/mebelant/img/hero-bg.jpg') center/cover no-repeat;
  position: relative;
  color: white;
  text-align: center;
}
.hero-overlay {
  background: rgba(0, 0, 0, 0.6);
  padding: 60px 0px;
    min-height: 500px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.hero h1 {
  font-size: 32px;
  margin-bottom: 10px;
}
.sidebar-none .entry-content {
    position: relative;
}
.hero.lazy-background {
  background-color: var(--ui-title-muted);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
      position: relative;
    height: 90vh;
    width: 100%;
    top: 0px;
    left: 0px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.subhead {
  font-size: 18px;
  color: #ffeb3b;
  margin-bottom: 30px;
}
.subhead span {
  color: #ffd600;
}
.subhead span.accent {
    text-decoration: underline;
    font-weight: bold;
}
.offers {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  margin-bottom: 40px;
}
.offer-box {
  background: rgba(0, 0, 0, 0.7);
  border: 3px solid white;
  border-radius: 12px;
  padding: 20px;
  max-width: 320px;
  text-align: left;
}
.offer-box-head {
  font-size: 14px;
  margin-bottom: 0px;
  color: var(--ui_white);
}
.offer-box ul {
  list-style: none;
  padding: 0;
  color: #90ee90;
  font-size: 15px;
  margin: 0px;
}
.offer-box ul li {
    padding: 0px !important;
}
.offer-box ul li:before {
    display: none !important;
}

.consult-block p {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px;
  background: rgba(0, 0, 0, 0.5);
  padding: 12px 16px;
  display: inline-block;
  border-radius: 8px;
  color: #ffd600;
}
.consult-block form {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
.consult-block form p {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}
@media (max-width: 800px) {
    .consult-block form p {
        flex-direction: column;
    }
}
.consult-block form p:before {
    display: none;
}
.consult-block form input {
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid transparent;
    font-size: 14px;
     width: 250px; 
    margin: 0px;
    line-height: 16px;
    cursor: pointer;
}
.consult-block form input.wpcf7-text {
  background: var(--ui_white);
}
.consult-block form button {
  background-color: var(--ui-accent);
  color: white;
  padding: 12px 20px;
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
}
.consult-block form button:hover {
  background-color: #218838;
  transform: scale(1.05);
}
.consult-block form button:active {
  transform: scale(0.97);
}
.checkmark {
  width: 20px;
  height: 20px;
  stroke: var(--ui-accent);
  stroke-width: 3;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  margin-right: 8px;
  vertical-align: middle;
  animation: drawCheck 0.5s ease forwards;
}
@keyframes drawCheck {
  0% {
    stroke-dasharray: 24;
    stroke-dashoffset: 24;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.offer-box ul {
  list-style: none;
  padding: 0;
  margin: 0px !important;
}
.offer-box li {
  display: flex;
  align-items: center;
  color: var(--ui_white);
  font-size: 15px;
  margin: 0px !important;
}
@media (max-width: 768px) {
  .hero h1 {
    font-size: 32px;
  }
  .subhead {
    font-size: 16px;
  }
  .offer-box {
    max-width: 100%;
  }
  .consult-form {
    flex-direction: column;
    align-items: center;
  }
  .consult-form input,
  .consult-form button {
    width: 100%;
    max-width: 350px;
  }
}

.sticky-form {
  display: none;
}
.mobile-consult-form {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  background-color: #ffffee;
  padding: 10px;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.2);
}
.mobile-consult-form input {
  flex: 1;
  padding: 10px;
  font-size: 14px;
  border-radius: 6px;
  border: 1px solid #ccc;
}
.mobile-consult-form button {
  background-color: var(--ui-accent);
  color: white;
  border: none;
  padding: 0 16px;
  border-radius: 6px;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.3s;
}
.mobile-consult-form button:hover {
  background-color: #218838;
}
@media (max-width: 768px) {
  .sticky-form {
    display: block;
  }
}

.order-section {
  padding: 40px 20px;
  background-color: var(--ui_white);
}
.order-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
  flex-wrap: wrap;
}
.order-text {
  flex: 1 1 360px;
}
@media (max-width: 800px) {
    .order-text {
        flex: 1 1 0;
    }
}
.order-text h2 {
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 20px;
  line-height: 1.3;
}
.order-text p {
  font-size: 16px;
  line-height: 1.5;
  color: var(--ui-title-muted);
}
.order-image-wrapper {
  position: relative;
  flex: 1 1 500px;
}
.order-image {
  width: 100%;
  border-radius: 24px;
  display: block;
    height: 500px;
    object-fit: cover;
}
.order-button {
    cursor: pointer;
    color: var(--ui_white);
    border: none;
    position: absolute;
    bottom: 20px;
    left: 20px;
    background-color: var(--ui-accent);
    color: white;
    text-align: center;
    padding: 18px;
    font-size: 17px;
    font-weight: bold;
    text-decoration: none;
    border-radius: 50%;
    width: 120px;
    height: 120px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 0.5s ease-in-out;
    animation: pulseZoom 2s infinite;
}
.order-button:hover {
    color: var(--ui-title-muted) !important;
  background-color: var(--ui-accent-2);
  opacity: 0.95;
  box-shadow: 0 8px 20px rgba(156, 39, 176, 0.3);
}
@keyframes pulseZoom {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.15);
  }
}
@media (max-width: 768px) {
  .order-content {
    flex-direction: column;
    align-items: flex-start;
  }
  .order-text h2 {
    font-size: 24px;
  }
  .order-button {
    width: 120px;
    height: 120px;
    font-size: 14px;
    bottom: 16px;
    left: 16px;
  }
}

@media (max-width: 767px) {
    .site-header-inner {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}
@media (max-width: 450px) {
    .header_wrap {
        flex-direction: column;
        align-items: center;
    }
}
@media (max-width: 370px) {
    .wpcf7-button-submit-type3 svg {
        width: 20px;
    }
    .wpcf7-button-submit-type4 svg {
        width: 20px;
    }
}
@media (max-width: 600px) {
    .order-image-wrapper {
        width: 100%;
    }
}
.widget {
    text-align: center;
}
@media (max-width: 768px) {
    .zayavka-button {
        position: fixed;
        right: 0px;
        bottom: 10px;
        margin-right: 140px;
        z-index: 1000;
    }
    .zayavka-button .order-button {
        width: 100px;
        height: 100px;
    }
}
#fancy-modal-konsulyaciya-main {
    display: none;
}

#kitchen-quiz {
  margin: 0 auto;
}
.quiz-step {
  display: none;
}
.quiz-step.active {
  display: block;
  animation: fadeIn 0.3s ease-in-out;
}
.quiz-step p {
    font-size: 16px;
}
.quiz-step-head {
    margin: 0px;
}

.wpcf7-list-item {
    position: relative;
    display: block;
    margin: 0px;
    cursor: pointer;
}

.wpcf7-list-item input[type="radio"] {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 2;
}

.wpcf7-list-item-label {
  display: block;
  padding: 14px 18px;
  background: #f1f1f1;
  border-radius: 8px;
  font-size: 18px;
  transition: background 0.2s;
  position: relative;
  z-index: 1;
}

.wpcf7-list-item.checked .wpcf7-list-item-label {
  background: #49a8e9;
  color: var(--ui_white);
  font-weight: bold;
}


.prev-step {
  margin-top: 20px;
  background: none;
  border: none;
  color: #49a8e9;
  font-size: 16px;
  cursor: pointer;
  text-decoration: underline;
}

.prev-step:hover {
  color: #2f8ad6;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.step-1 .wpcf7-form-control {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.step-1 .wpcf7-list-item {
  transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease;
  border-radius: 10px;
  overflow: hidden;
    width: 44%;
}
.step-1 .wpcf7-list-item:nth-child(1) .wpcf7-list-item-label {
  background-image: url('/wp-content/uploads/2025/07/uglovye-15.jpg');
}
.step-1 .wpcf7-list-item:nth-child(2) .wpcf7-list-item-label {
  background-image: url('/wp-content/uploads/2025/07/pryamye-kuhni-2.jpg');
}
.step-1 .wpcf7-list-item:nth-child(3) .wpcf7-list-item-label {
  background-image: url('/wp-content/uploads/2025/07/p-obraznye-kuhni-1.jpg');
}
.step-1 .wpcf7-list-item:nth-child(4) .wpcf7-list-item-label {
  background-image: url('/wp-content/uploads/2025/07/4-3.jpg');
}
.step-1 .wpcf7-list-item-label {
  background-size: cover;
  background-position: center;
  color: white;
  font-size: 18px;
  height: 180px;
  display: flex;
  align-items: flex-end;
  padding: 20px;
  font-weight: bold;
  text-shadow: 0 0 5px rgba(0,0,0,0.4);
  position: relative;
  cursor: pointer;
}
.step-1 .wpcf7-list-item:hover {
  transform: scale(1.03);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  filter: brightness(1.05);
}
.step-1 .wpcf7-list-item.checked .wpcf7-list-item-label {
  outline: 3px solid #49a8e9;
  outline-offset: 2px;
}


@media (max-width:520px) {
    .site-header {
        position: fixed;
        top: 0px;
        left: 0px;
        z-index: 9999;
        width: 100%;
    }
    .offer-box {
        width: 100%;
    }
    .site-header .site-description,
    .site-header .social-links,
    .site-header a.phone_type1 {
        display: none;
    }
    .site-header-inner {
        display: flex;
        flex-direction: row;
    }
    .site-logotype img {
        max-height: 65px;
    }
    .header-html-2 {
        margin: 0px;
    }
    .humburger {
        top: 25px;
    }
    .header_wrap .wpcf7-button-submit-type3 {
        padding: 5px;
    }
    .header_wrap .wpcf7-button-submit-type3 svg {
        display: none;
    }
    .step-1 .wpcf7-list-item {
        width: 100%;
    }
}
@media (max-width:580px) {
    #splide__otzyvy .splide__slide {
        flex-direction: column;
        height: 100% !important;
    }
    .otzyvy_el_image {
        width: 100%;
    }
    .otzyvy_el_main {
        width: 100%;
        margin-top: 20px;
    }
}
.privacy p {
    display: ruby !important;
}
.privacy p,
.privacy a {
    color: var(--ui_white);
    font-size: 14px;
    font-weight: 100;
}
.fancybox__content .privacy p,
.fancybox__content .privacy a {
    color: var(--ui-title-muted);
    font-size: 14px;
    font-weight: 100;
}
.fancybox__content .privacy a:hover {
    color: var(--ui-muted);
}
.fancybox__content p:before {
    width: 0px !important;
}

.templateX-section {
  padding: 80px 0px;
  background: var(--ui-bg-first);
}
.templateX-commerce {
  padding: 20px 0px;
  background: var(--ui-bg-first);
}
.service-page > section:nth-child(odd) {
    background-color: var(--ui-bg-second);
}

.templateX-wrapper {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0px 20px;
}
.lumika-block--inline .templateX-wrapper {
  max-width: none;
  padding: 0;
}
.templateX-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 50px;
}
.templateX-title {
    font-size: 36px;
    color: var(--ui-title-muted);
    margin: 0px;
    position: relative;
    line-height: 1.2em;
    font-weight: 400;
    text-transform: none;
}
@media (max-width: 1024px) {
    .templateX-title {
        font-size: 30px;
    }
}
@media (max-width: 768px) {
    .templateX-title {
        font-size: 24px;
    }
}

.templateX-title::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 80px;
  height: 3px;
  background: var(--ui-accent);
}
.templateX-subtitle {
    width: 100%;
    font-size: 20px;
    margin-bottom: 25px;
}
.templateX-link {
  font-size: 18px;
  font-weight: 500;
  color: var(--ui-accent);
  text-decoration: none;
  position: relative;
  padding-right: 18px;
  transition: color 0.3s ease;
}
.templateX-link::before {
  content: "→";
  position: absolute;
  left: -30px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.1em;
  color: inherit;
  transition: transform 0.3s ease, color 0.3s ease;
}
.templateX-link:hover {
  color: var(--ui-accent-2);
}
.templateX-link:hover::before {
  transform: translateY(-50%) translateX(4px);
  color: var(--ui-accent-2);
}
.sliderX-card {
  background: white;
  border-radius: 12px;
  padding: 20px 10px;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);
  transition: all 0.3s ease;
}
.sliderX-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}
.sliderX-logo {
  width: 150px;
  height: 300px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sliderX-logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
  opacity: 0.8;
  transition: all 0.3s ease;
}
.sliderX-card:hover .sliderX-logo img {
  opacity: 1;
}
.sliderX-name {
  font-size: 20px;
  color: var(--ui-title-muted);
  transition: color 0.3s ease;
}
.sliderX-name a {
  color: var(--ui-title-muted);
}
.sliderX-card:hover .sliderX-name {
  color: var(--ui-accent);
}
.sliderX-description {
  color: #7f8c8d;
  line-height: 1.6;
  margin: 0;
  font-size: 14px;
}

@media (max-width: 768px) {
  .sliderX-card {
    padding: 20px 15px;
  }
  .sliderX-logo {
    width: 120px;
    height: 180px;
  }
  .sliderX-name {
    font-size: 1.1rem;
  }
}

.templateL-section {
    padding: 80px 0px;
    margin: 0px auto;
}
.templateL-wrapper {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0px 20px;
}
.sliderL-card {
    height: 100%;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    transition: all 0.3s ease;
    border-radius: var(--ui_radius);
}
.sliderL-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

.team-section .sliderX-logo {
    width: 100%;
    border-radius: 10px;
    overflow: hidden;
}
.team-section .sliderX-logo img {
    width: 100%;
}
.portfolio-section img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--ui_radius);
}
.partners-section .sliderX-logo {
    height: 100px;
}
.partners-section .sliderX-name {
  font-size: 16px;
}
.portfolio-section .sliderL-card {
    height: 350px;
}

.faq-section .templateX-wrapper:has(.faq-50) {
    display: flex;
    flex-direction: row;
    gap: 20px;
}
.faq-50 {
    width: 50%;
}

.faq-preview {
    margin-bottom: 40px;
}
.faq-item {
    background: white;
    border-radius: var(--ui_radius_mini,12px);
    margin-bottom: 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: all 0.3s ease;
}
.faq-item:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.faq-question {
    padding: 24px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: white;
    border: none;
    width: 100%;
    text-align: left;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ui-title-muted);
    transition: background-color 0.3s ease;
    font-size: 18px;
}
.faq-question:hover {
    background-color: var(--ui-accent);
    color: var(--ui_white);
}
.faq-question.active {
    background-color: var(--ui-accent);
    color: var(--ui_white);
}
.faq-question h3 {
    font-size: 18px;
    margin-bottom: 0px;
}
.faq-icon {
    font-size: 1.5rem;
    font-weight: 300;
    color: var(--ui-muted);
    transition: transform 0.3s ease, color 0.3s ease;
    min-width: 30px;
    text-align: center;
}
.faq-question.active .faq-icon {
    transform: rotate(45deg);
    color: var(--ui-accent);
}
.faq-question:hover .faq-icon {
    transform: rotate(45deg);
    color: var(--ui_white);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
    background-color: #fafafa;
}
.faq-answer.active {
    max-height: 300px;
    border-top: 1px solid #e0e0e0;
}
.faq-answer-content {
    color: #555;
    font-size: 1rem;
    line-height: 1.7;
    padding: 24px;
}
.faq-answer-content p:last-child {
    margin-bottom: 0px;
}

@media (max-width: 1000px) {
    .faq-section .templateX-wrapper:has(.faq-50) {
        flex-direction: column;
    }
    .faq-50 {
        width: 100%;
    }
}
@media (max-width: 768px) {
    .faq-question {
        padding: 20px;
        font-size: 1rem;
    }
    .faq-answer-content {
        color: #555;
        font-size: 1rem;
        line-height: 1.7;
        padding: 20px;
    }
    .faq-icon {
        font-size: 1.3rem;
    }
}
.faq-item {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.6s ease forwards;
}
.faq-item:nth-child(2) { animation-delay: 0.1s; }
.faq-item:nth-child(3) { animation-delay: 0.2s; }
.faq-item:nth-child(4) { animation-delay: 0.3s; }
@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.callback {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    background: #0d2b47;
    color: var(--ui_white);
    padding: 30px 20px;
    border-radius: var(--ui_radius_mini,20px);
    gap: 20px;
}
.callback__title {
    font-size: 1.5rem;
    font-weight: 700;
    text-align: center;
}
.callback__text {
    font-size: 1rem;
    text-align: center;
    line-height: 1.4;
    margin: 0px;
}
.callback__form {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}
.callback__form input {
    padding: 12px 15px;
    border: 1px solid #ced4da;
    border-radius: var(--ui_radius,8px);
    font-size: 1rem;
}
.callback__form button {
    margin-top: 10px;
    background: #3bbd89;
    color: var(--ui_white);
    font-size: 1rem;
    font-weight: 700;
    padding: 12px 15px;
    border: none;
    border-radius: var(--ui_radius,8px);
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.callback__form button:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 15px rgba(59,189,137,0.4);
}
.callback__form .privacy {
}
.callback__form .privacy .wpcf7-list-item-label {
    color: var(--ui_white);
}
.callback__form .privacy a {
    color: var(--ui_white);
}

.about-company__top {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    align-items: flex-start;
    margin-bottom: 50px;
}
.about-company__icons {
    display: flex;
    align-items: center;
    gap: 10px;
}
.about-company__icon {
    display: flex;
}
.about-company__icon svg {
    width: 30px;
    height: 30px;
    fill: var(--ui-accent);
}
.about-company__icon_vk svg {
    width: 40px;
    height: 40px;
}
.about-company__icon svg:hover {
    fill: var(--ui-accent-2);
}

.about-company__text {
    flex: 1 1 45%;
}

.about-company__desc {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 25px;
}

.about-company__map {
    flex: 1 1 50%;
    min-height: 300px;
    border-radius: 20px;
    overflow: hidden;
}

.about-company__bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    position: relative;
}
.contact-block {
    flex: 1 1 220px;
    min-width: 220px;
    padding: 25px;
    background: white;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03);
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.1);
    z-index: 1;
}
.contact-block:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}
.contact-block__hover-effect {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(100, 149, 237, 0.1) 0%, rgba(138, 43, 226, 0.1) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: -1;
}
.contact-block:hover .contact-block__hover-effect {
    opacity: 1;
}
.contact-block__icon {
    font-size: 2.5rem;
    margin-bottom: 15px;
    transition: transform 0.3s ease;
}
.contact-block:hover .contact-block__icon {
    transform: scale(1.2) rotate(5deg) translateX(25px);
}
.contact-block__title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #555;
    margin-bottom: 10px;
    transition: color 0.3s ease;
}
.contact-block:hover .contact-block__title {
    color: var(--ui-accent);
}
.contact-block p {
    margin: 0;
    color: var(--ui-title-muted);
    line-height: 1.6;
    font-size: 1rem;
}
.contact-block a {
    color: #4682b4;
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
}
.contact-block a:hover {
    color: var(--ui-accent);
}
.contact-block a::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 1px;
    background: var(--ui-accent);
    transition: width 0.3s ease;
}

.contact-block a:hover::after {
    width: 100%;
}
.contact-block::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, #ff7c9d, var(--ui-accent));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
}
.contact-block:hover::before {
    transform: scaleX(1);
}
@media (max-width: 768px) {
    .about-company__top {
        flex-direction: column;
    }
    .about-company__map {
        min-height: 250px;
        width: 100%;
    }
    .about-company__bottom {
        flex-direction: column;
    }
    .contact-block:hover .contact-block__icon {
        transform: scale(1.2) rotate(5deg) translateX(60px) translateY(20px);
    }
    .contact-block {
        flex: 1 1 100%;
        max-width: 100%;
        padding: 20px;
    }
}

.readmore__inner {
    --clamp: 500px;
    max-height: var(--clamp);
    overflow: hidden;
    position: relative;
    transition: max-height .4s ease;
}
.readmore__inner::after {
    content: "";
    position: absolute; left: 0; right: 0; bottom: 0;
    height: 72px;
    pointer-events: none;
}
.readmore--open .readmore__inner {
    max-height: 10000px;
}
.readmore--open .readmore__inner::after {
    display: none;
}
.readmore__btn_wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0px auto;
}
.readmore__btn {
    margin: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 18px;
    border-radius: var(--ui_radius, 20px);
    background: var(--ui-accent);
    color: var(--ui_white);
    font-weight: 600;
    border: 0;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(31,77,216,.25);
    transition: transform .15s ease, box-shadow .25s ease, background .25s ease;
}
.readmore__btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(31,77,216,.35);
    background: var(--ui-accent-2);
}
.readmore__btn:active {
    transform: translateY(0);
    box-shadow: 0 6px 14px rgba(31,77,216,.25);
}
.readmore--open .readmore__btn svg {
    transform: translate(0px, 3px) rotate(180deg);
}
.readmore__btn svg {
    width: 18px;
    height: 18px;
}

.content__inner {
    color: #1f2937;
}
.content__inner h2,
.content__inner h3,
.content__inner h4,
.content__inner h5,
.content__inner h6,
.content__inner p,
.content__inner ul,
.content__inner ol,
.content__inner blockquote,
.content__inner table {
    margin: 1em 0 1em 0;
}
.content__inner h2 {
  font-weight: 800;
  line-height: 1.18;
  font-size: clamp(22px, 3.2vw, 30px);
  padding-left: 16px;
  position: relative;
  letter-spacing: -0.01em;
}
.content__inner h2:first-child {
    margin-top: 0px;
}
.content__inner h2::before {
  content: "";
  position:absolute; left:0; top:0.1em; bottom:0.1em;
  width:6px; border-radius: 6px;
  background: linear-gradient(180deg, var(--ui-accent) 0%, var(--ui-accent-2) 100%);
  box-shadow: 0 0 0 2px rgba(31,77,216,.08) inset;
}
.content__inner h3 {
  font-weight: 800;
  line-height: 1.18;
  font-size: clamp(18px, 2.4vw, 22px);
  color: #111827;
}
.content__inner h4 { font-weight:700; line-height:1.3; font-size: clamp(17px,2.1vw,20px); }
.content__inner h5 { font-weight:650; line-height:1.35; font-size: 16px; color: var(--ui-muted); }
.content__inner h6 {
  font-weight:600; line-height:1.4; font-size: 14px;
  color: var(--ui-muted); letter-spacing:.05em;
}
.content__inner p { line-height: var(--lh); font-size: 16px; }
.content__inner a {
  color: var(--ui-accent);
  text-decoration: none;
  position: relative;
  transition: color 0.3s ease;
}
.content__inner a:hover {
  color: var(--ui-accent-2);
}
.content__inner a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  height: 1px;
  background: var(--ui-accent-2);
  transition: width 0.3s ease;
  width: 100%;
}
.content__inner a:hover::after {
  width: 0;
}
.content__inner ul,
.content__inner ol {
    padding-left: 0;
    list-style: none;
}
.content__inner ul {
    list-style: none;
    padding-left: 16px;
}
.content__inner ul li {
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 0.8em;
  transition: all 0.3s ease;
}
.content__inner ul li:hover {
  padding-left: 1.7em;
}
.content__inner ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 0.6em;
  height: 0.6em;
  border-radius: 50%;
  background-color: var(--ui-accent);
  transition: transform 0.3s ease;
}
.content__inner ul li:hover::before {
  transform: scale(1.5);
  background-color: #e74c3c;
}
.content__inner ol {
    counter-reset: li;
    padding-left: 16px;
}
.content__inner ol li {
    position: relative;
    padding-left: 2.1em;
    line-height: var(--lh);
    margin: .55em 0;
    transition: all 0.3s ease;
}
.content__inner ol li:hover {
    padding-left: 2.3em;
}
.content__inner ol li::before {
    counter-increment: li;
    content: counter(li);
    position: absolute; left: 0; top: .05em;
    min-width: 1.6em; height: 1.6em;
    border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--ui-accent);
    font-weight: bold;
    border: 1px solid rgba(31,77,216,.18);
    transition: transform 0.3s ease;
}
.content__inner ol li:hover::before {
    color: var(--ui-accent-2);
}

.content__inner blockquote {
  margin: 1.5em 0;
  padding: 20px 30px;
  background: #f8f9fa;
  border-left: 5px solid var(--ui-accent);
  border-radius: 0 5px 5px 0;
  font-style: italic;
  position: relative;
  box-shadow: 0 3px 10px rgba(0,0,0,0.05);
}
.content__inner blockquote::before {
  content: '"';
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 3em;
  color: rgba(52, 152, 219, 0.1);
  line-height: 1;
}
.content__inner .table-wrap { overflow-x:auto; -webkit-overflow-scrolling: touch; margin: .5em 0 1em; }
.content__inner table { width:100%; border-collapse: collapse; font-size: 15px; background:var(--ui_white); border:1px solid #e8ecf8; border-radius: 10px; overflow: hidden; }
.content__inner thead th {
  background: var(--ui-bg-soft);
  color:#111827;
  text-align:left;
  font-weight: 700;
  padding: 12px 14px;
  border-bottom: 1px solid #e8ecf8;
}
.content__inner tbody td {
  padding: 12px 14px;
  border-bottom: 1px solid #eef2fb;
}
.content__inner tbody tr:nth-child(odd) { background: #fcfdff; }
.content__inner tbody tr:first-child {
    background: var(--ui-accent);
    color: white;
}
.content__inner tbody tr:hover:not(:first-child) { background: var(--ui-bg-soft); }
.content__inner h2 + h3 {
    margin-top: .2em;
}
.content__inner h2 + p,
.content__inner h3 + p,
.content__inner h4 + p {
    margin-top: .45em;
}
@media (max-width: 480px) {
  .content__inner { --lh: 1.65; }
  .content__inner p { font-size: 15px; }
  .content__inner h3 { padding: 5px 10px; border-radius: 8px; }
  .content__inner blockquote { padding: 12px 14px 12px 48px; }
}

.services__grid {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start;
    gap: 20px;
}
.service__card {
    background: white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    width: calc(25% - 20px);
}
@media (max-width: 1200px) {
    .service__card {
        width: calc(33% - 20px);
    }
}
@media (max-width: 1000px) {
    .service__card {
        width: calc(50% - 20px);
    }
}
@media (max-width: 600px) {
    .service__card {
        width: 100%;
    }
}
.service__card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.15);
}
.service__card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(135deg, #6b73ff 0%, var(--ui-accent-2) 100%);
    border-radius: 20px 20px 100% 50%;
}
.service__image {
    position: relative;
    height: 200px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 20px;
    z-index: 2;
}
.service__image img {
    max-width: 120px;
    max-height: 120px;
    object-fit: contain;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.15));
    transition: transform 0.4s ease, filter 0.4s ease;
}
.service__card:hover .service__image img {
    transform: rotate(5deg) scale(1.1);
    filter: drop-shadow(0 6px 20px rgba(0, 0, 0, 0.25));
}
.service__content {
    padding: 30px 25px;
    background: white;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 3;
}
.service__title {
    font-size: 18px;
    font-weight: bold;
    color: var(--ui-title-muted)333;
    margin-bottom: 15px;
    text-decoration: none;
    transition: color 0.3s ease;
    line-height: 1.4;
}
.service__title:hover {
    color: var(--ui-accent);
}
.service__description {
    color: #666;
    font-size: 0.95rem;
    line-height: 1.6;
    flex-grow: 1;
}
.service__card {
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 0.6s ease forwards;
}
@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@media (max-width: 768px) {
    .service__content {
        padding: 25px 20px;
    }
    .service__title {
        font-size: 1.1rem;
    }
}
@media (max-width: 480px) {
    .service__image {
        height: 180px;
    }
    .service__image img {
        max-width: 100px;
        max-height: 100px;
    }
}

.tabs-section .splide__slide > a {
  text-align: center;
  color: var(--ui-title-muted);
}
.tabs-section .splide__slide {
    transition: all 0.3s ease;
}
.tabs-section .splide__slide:hover {
    transform: translateY(-5px);
}
.tabs-section .splide__slide:hover > a {
    text-decoration: none;
}
.section-title {
  text-align: center;
  font-size: 2.2rem;
  margin-bottom: 40px;
  color: #212529;
}
.buttons-tabs {
  display: flex;
  justify-content: left;
  margin-bottom: 30px;
  flex-wrap: wrap;
  gap: 10px;
}
@media (max-width: 1024px) {
    .buttons-tabs .tab-btn {
        font-size: 14px;
        padding: 8px 16px;
    }
}
.tab-btn {
  padding: 12px 25px;
  border-radius: var(--ui_radius, 30px);
  font-size: 1.1rem;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  background: transparent;
  color: var(--ui-muted);
  border: 1px solid var(--ui-accent);
}
.tab-btn::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: var(--ui-accent);
  transform: scaleX(0);
  transition: transform 0.3s ease;
}
.tab-btn.active {
  background: var(--ui-accent);
  color: white;
  border: 1px solid transparent;
}
.tab-btn.active::after {
  transform: scaleX(1);
}
.tab-btn:hover {
  background: var(--ui-accent-2);
}
.tab-content {
  display: none;
  animation: fadeIn 0.5s ease;
}
.tab-content.active {
  display: block;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 768px) {
  .tab-btn {
    padding: 10px 20px;
    font-size: 1rem;
  }
}
.steps__container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 30px;
    max-width: 1400px;
    margin: 0px auto;
    padding: 20px 0px;
}
.step__card {
    position: relative;
    flex: 1 1 calc(25% - 30px);
    background: linear-gradient(135deg, var(--ui_white), #f2f2f2);
    border-radius: 12px;
    padding: 80px 20px 20px 20px;
    text-align: center;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.step__number-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 10rem;
    font-weight: 700;
    user-select: none;
    pointer-events: none;
    z-index: 0;
    color: var(--ui-accent);
    opacity: 0.2;
}
.step__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.step__desc {
    font-size: 1rem;
    color: var(--ui-title-muted);
    line-height: 1.5;
    font-weight: 500;
    margin: 0px;
}
.step__desc2 {
    font-size: 14px;
    color: var(--ui-title-muted);
}
.step__card:hover {
    transform: translateY(-10px) scale(1.05);
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}
@media (max-width: 900px) {
    .step__card {
        flex: 1 1 calc(50% - 20px);
    }
}
@media (max-width: 600px) {
    .step__card {
        flex: 1 1 100%;
    }
    .step__number-bg {
        font-size: 6rem;
    }
}

.stats-section {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0f2027 0%, #203a43 50%, #2c5364 100%);
}
.stats-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: 
        radial-gradient(circle at 20% 30%, rgba(255,255,255,0.1) 1px, transparent 1px),
        radial-gradient(circle at 80% 70%, rgba(255,255,255,0.1) 1px, transparent 1px);
    background-size: 50px 50px;
    animation: particleMove 20s linear infinite;
}
@keyframes particleMove {
    100% { background-position: 100px 100px; }
}
.stats-section .templateX-title {
    color: var(--ui_white);
}

.stats__container {
    max-width: 1400px;
    margin: 0px auto;
}
.stats__inner {
    margin: 0px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
}
.stat__card {
    flex: 1 1 200px;
    min-width: 200px;
    text-align: center;
    padding: 30px 20px;
    background: white;
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
}
.stat__card::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(
        to bottom right,
        rgba(255,255,255,0.3) 0%,
        rgba(255,255,255,0) 50%,
        rgba(255,255,255,0.3) 100%
    );
    transform: rotate(30deg);
    animation: shimmer 6s infinite linear;
    opacity: 0;
    transition: opacity 0.3s ease;
}
@keyframes shimmer {
    0% { transform: translateX(-100%) rotate(30deg); }
    100% { transform: translateX(100%) rotate(30deg); }
}
.stat__card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.15);
}
.stat__card:hover::before {
    opacity: 1;
}
.stat__number {
    font-size: 3.5rem;
    font-weight: 700;
    color: var(--ui-title-muted);
    margin-bottom: 15px;
    transition: all 0.3s ease;
    position: relative;
    display: inline-block;
}
.stat__card:hover .stat__number {
    color: #e74c3c;
    transform: scale(1.1);
}
.stat__text {
    font-size: 1.1rem;
    color: #7f8c8d;
    line-height: 1.5;
    transition: all 0.3s ease;
}
@keyframes countUp {
    from { transform: translateY(20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}
@media (max-width: 768px) {
    .stat__card {
        flex: 1 1 150px;
    }
    .stat__number {
        font-size: 2.5rem;
    }
    .stat__text {
        font-size: 1rem;
    }
}
.advantages-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    margin: 0 auto;
}
.advantage-card {
    flex: 1 1 calc(25% - 30px);
    min-width: 250px;
    background: var(--ui_white);
    border-radius: 12px;
    padding: 20px 10px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    transition: all 0.3s ease;
    border: 1px solid #e0e0e0;
    text-align: center;
}
.advantage-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.1);
    border-color: var(--ui-accent);
}
.advantage-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f9f5;
    border-radius: 50%;
    color: var(--ui-accent);
    transition: all 0.3s ease;
    background: var(--ui-accent);
}
.advantage-icon svg {
    width: 55px;
}
.advantage-card:hover .advantage-icon {
    background: var(--ui-accent);
    color: white;
    transform: rotate(10deg) scale(1.1);
}
.advantage-title {
    color: var(--ui-title-muted);
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 15px;
    transition: color 0.3s ease;
}
.advantage-card:hover .advantage-title {
    color: var(--ui-accent);
}
.advantage-text {
    color: #666;
    line-height: 1.6;
    margin: 0;
    font-size: 14px;
}
@media (max-width: 1024px) {
    .advantage-card {
        flex: 1 1 calc(50% - 30px);
    }
}
@media (max-width: 600px) {
    .advantage-card {
        flex: 1 1 100%;
        max-width: 100%;
    }
}
.advantages2-section {
    background: #f5f7fa;
    overflow: hidden;
    position: relative;
}
.advantages2-section .templateX-wrapper {
    z-index: 2;
    position: relative;
}
.animated-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #dbe9ff 0%, #e4e8eb 100%);
    z-index: 0;
}
.animated-bg::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 70vmax;
    height: 70vmax;
    background: radial-gradient(
        circle at center,
        rgba(142, 68, 173, 0.05) 0%,
        rgba(52, 152, 219, 0.05) 70%,
        transparent 100%
    );
    animation: rotateBackground 20s linear infinite;
    transform: translate(-50%, -50%) rotate(0deg);
    transform-origin: center center;
}
@keyframes rotateBackground {
    0% { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}
.advantages2-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
}
.advantage2-card {
    flex: 1 1 300px;
    background: white;
    border-radius: 15px;
    padding: 35px 30px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    position: relative;
    overflow: hidden;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform-style: preserve-3d;
}
.advantage2-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, #8e44ad, #3498db);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s ease;
}
.advantage2-card:hover {
    transform: rotateX(5deg);
    box-shadow: 0 15px 40px rgba(0,0,0,0.15);
}
.advantage2-card:hover::before {
    transform: scaleX(1);
}
.shine {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        120deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.3) 50%,
        rgba(255,255,255,0) 100%
    );
    transform: translateX(-100%);
    transition: transform 0.6s ease;
}
.advantage2-card:hover .shine {
    transform: translateX(100%);
}
.advantage2-icon {
    font-size: 3.5rem;
    margin-bottom: 20px;
    transition: all 0.4s ease;
    display: inline-block;
}
.advantage2-card:hover .advantage2-icon {
    transform: rotate(15deg) scale(1.2);
}
.advantage2-title {
    font-size: 1.4rem;
    margin-bottom: 15px;
    color: var(--ui-title-muted);
    transition: color 0.3s ease;
    position: relative;
}
.advantage2-card:hover .advantage2-title {
    color: #8e44ad;
}
.advantage2-content {
    color: #7f8c8d;
    line-height: 1.7;
    transition: all 0.3s ease;
}
.advantage2-card:hover .advantage2-content {
    color: #34495e;
}
@media (max-width: 768px) {
    .advantage2-card {
        flex: 1 1 100%;
        max-width: 100%;
        padding: 25px 20px;
    }
    .advantage2-icon {
        font-size: 3rem;
    }
    .advantage2-title {
        font-size: 1.2rem;
    }
}
.price__table {
    margin: 0 auto;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    overflow-x: auto;
}
.price__header {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    background: var(--ui-accent);
    color: var(--ui_white);
    width: 100%;
    border: none;
    border-radius: 10px 10px 0px 0px;
    overflow: hidden;
}
.price__header .price__cell {
    border: none;
}
.price__row {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    width: 100%;
    background-color: white;
}
.price__row:hover {
    background: var(--ui-bg-first);
    transition: background 0.3s ease;
}
.price__row:last-child {
    border-radius: 0px 0px 10px 10px;
}
.price__cell {
    flex: 1;
    padding: 15px;
    text-align: left;
    min-width: 200px;
    text-align: center;
    border-top: 3px solid #eee;
}
.openfos-section {
    padding: 0;
    width: 100%;
    background: var(--ui-title-muted) !important;
    color: var(--ui_white);
    position: relative;
    overflow: hidden;
    min-height: 480px;
    display: flex;
    align-items: stretch;
}
.openfos-bg {
    position: absolute;
    top: 0;
    right: 0;
    width: 60%;
    height: 100%;
    z-index: 0;
}
.openfos-bg::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(
        to right,
        rgb(71,71,71)   0%,
        rgba(71,71,71,0.98) 15%,
        rgba(71,71,71,0.85) 35%,
        rgba(71,71,71,0.45) 60%,
        rgba(71,71,71,0.1)  80%,
        transparent         100%
    );
}
.openfos-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.openfos__content {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: flex-start;
    width: 100%;
}
.openfos__panel {
    width: 65%;
    padding: 60px 40px;
    background: transparent;
}

.openfos-section .templateX-title {
    color: var(--ui_white);
}
.openfos__content p {
    font-size: 16px;
    margin-bottom: 0px;
}
.openfos__content ul {
    font-size: 16px;
    margin: 0 0 30px 0;
    padding: 0;
    list-style: none;
}
.openfos__content ul li {
    padding-left: 20px;
    position: relative;
}
.openfos__content ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 8px;
    height: 8px;
    background: var(--ui-accent);
    border-radius: 50%;
}
.openfos__form {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}
.openfos__form .wpcf7-form-control-wrap {
    border: none;
    border-radius: 6px;
    font-size: 1rem;
}
.openfos__form .wpcf7-form-control-wrap input {
    border-radius: var(--ui_radius, 6px);
    margin: 0px;
    height: 50px;
    border: 1px solid var(--ui_white);
}
.openfos__form .wpcf7-form-control-wrap input:focus {
    border: 1px solid var(--ui-accent-2);
}
.openfos__form .wpcf7-submit {
    padding: 14px 20px;
    background: var(--ui-accent);
    border: none;
    color: var(--ui_white);
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.3s ease;
    border-radius: var(--ui_radius, 6px);
}
.openfos__form .wpcf7-submit:hover {
    background: var(--ui-accent);
}
.openfos__form .privacy .wpcf7-list-item-label {
    color: var(--ui_white) !important;
}
.openfos__form .privacy a {
    color: var(--ui_white);
}
.openfos__form .privacy a:hover {
    color: var(--ui-link-hover);
}
.openfos__form .wpcf7-form p {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    width: 100%;
    flex-wrap: nowrap;
    gap: 20px;
}
.openfos__form .privacy {
    margin-top: 0px;
}
.openfos__form .wpcf7-list-item label {
    align-items: center;
}
.openfos__form .wpcf7-list-item {
    margin: 0px !important;
}

@media (max-width: 900px) {
    .openfos-section {
        min-height: unset;
    }
    .openfos-bg {
        width: 100%;
        opacity: 0.2;
    }
    .openfos-bg::before {
        display: none;
    }
    .openfos__content {
        justify-content: flex-start;
    }
    .openfos__panel {
        width: 100%;
        padding: 40px 20px;
    }
    .openfos__form {
        flex-direction: column;
        align-items: stretch;
    }
    .openfos__form .wpcf7-form p {
        flex-direction: column;
    }
    .openfos__input,
    .openfos__button {
        width: 100%;
    }
    .openfos__agreement {
        flex-direction: row;
        align-items: center;
        text-align: left;
        width: 100%;
    }
}
.consult-section .templateX-title {
    color: var(--ui_white);
}
.consult_inner {
    padding: 120px 20px;
    background: #2a2d2f;
    color: var(--ui_white);
    border-radius: 20px;
}
.consult__container {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 40px;
}
.consult__info {
    flex: 1 1 40%;
}
.consult__text {
    font-size: 1rem;
    color: var(--ui_white);
    line-height: 1.5;
}
.consult__form {
    flex: 1 1 50%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.consult__form label span {
    display: block;
    margin-bottom: 5px;
    font-size: 0.9rem;
    font-weight: 600;
}
.consult__form input[type="text"],
.consult__form input[type="tel"] {
    width: 100%;
    padding: 10px 15px;
    border-radius: 5px;
    border: none;
    font-size: 1rem;
}
.consult__btn {
    padding: 14px 20px;
    font-size: 1rem;
    font-weight: 700;
    background: var(--ui-accent);
    color: var(--ui_white);
    border: none;
    border-radius: 25px;
    cursor: pointer;
    transition: all 0.3s ease;
}
.consult__btn:hover {
    background: #ff2d60;
    transform: scale(1.05);
    box-shadow: 0 8px 20px rgba(228, 27, 78, 0.3);
}
.consult__policy {
    display: flex;
    align-items: flex-start;
    font-size: 0.85rem;
    gap: 5px;
}
.consult__policy input {
    margin-top: 3px;
}
@media (max-width: 900px) {
    .consult__container {
        flex-direction: column;
    }
    .consult__info, .consult__form {
        flex: 1 1 100%;
    }
}
.help-section {
    background: var(--ui-title-muted);
    color: var(--ui_white);
    overflow: hidden;
    position: relative;
    padding: 0px;
}
.help-section .templateX-title {
    color: var(--ui_white);
}
.help__container {
    min-height: 600px;
    background: url(/wp-content/themes/gp-child/blocks/main/operator-bg.png) no-repeat;
    overflow: hidden;
    display: flex;
    background-size: contain;
    align-items: center;
}
.help__image {
    position: relative;
    flex: 1 1 0%;
}
.help__image img {
    width: 100%;
    border-radius: 10px;
    position: relative;
    z-index: 2;
}
.smoke {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0px;
    bottom: 0px;
}
.smoke span {
    position: absolute;
    bottom: 0;
    width: 150px;
    height: 150px;
    background: radial-gradient(ellipse at center,
        rgba(255, 255, 255, 1) 10%,
        rgba(255, 255, 255, 1) 70%);
    border-radius: 50%;
    filter: blur(8px);
    animation: rise 5s infinite ease-in-out;
    opacity: 0.4;
}
.smoke span:nth-child(1) {
    left: 40%;
    animation-delay: 0s;
}
.smoke span:nth-child(2) {
    left: 20%;
    width: 80px;
    height: 80px;
    animation-delay: 1s;
}
.smoke span:nth-child(3) {
    left: 60%;
    animation-delay: 2s;
}
.smoke span:nth-child(4) {
    left: 30%;
    width: 70px;
    height: 70px;
    animation-delay: 3s;
}
@keyframes rise {
    0% {
        transform: translateY(0) scale(1);
        opacity: 0.2;
    }
    30% {
        opacity: 0.5;
    }
    50% {
        transform: translateY(-150px) translateX(-20px) scale(1.3);
        opacity: 0.4;
    }
    80% {
        opacity: 0.2;
    }
    100% {
        transform: translateY(-300px) translateX(20px) scale(1.6);
        opacity: 0;
    }
}
.help__content {
    margin: 0 0 0 auto;
    width: 100%;
    max-width: 615px;
}
.help__text {
    font-size: 1rem;
    margin-bottom: 30px;
    line-height: 1.4;
}
.help__form {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}
.help__form input {
    flex: 1;
    padding: 14px 20px;
    border-radius: 40px;
    border: none;
    font-size: 1rem;
}
.help__form button {
    padding: 14px 25px;
    background: #ffc000;
    border: none;
    border-radius: 40px;
    font-size: 1rem;
    font-weight: bold;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.help__form button:hover {
    transform: scale(1.05);
    box-shadow: 0 0 20px rgba(255,192,0,0.5);
}
.help__policy {
    font-size: 0.8rem;
    opacity: 0.8;
}
.help__policy a {
    color: var(--ui_white);
    text-decoration: underline;
}
@keyframes smokeMove {
    0% { transform: translate(0, 0); }
    50% { transform: translate(-50px, -50px); }
    100% { transform: translate(0, 0); }
}
@media (max-width: 900px) {
    .help__container {
        flex-direction: column;
    }
}
.questions-section {
    background: #153e90;
    color: var(--ui_white);
}
.questions__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 40px;
}
.questions-section .templateX-title {
    color: var(--ui_white);
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 10px;
    opacity: 0;
    transform: translateX(-50px);
    animation: slideInText 1s ease forwards;
}
.questions__desc {
    font-size: 1rem;
    opacity: 0;
    transform: translateX(-50px);
    animation: slideInText 1s ease 0.3s forwards;
}
.questions__btn {
    border: 1px solid var(--ui_white);
    padding: 12px 30px;
    border-radius: 6px;
    color: var(--ui_white);
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}
.questions__btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.2);
    transform: skewX(-20deg);
    transition: 0.5s;
}
.questions__btn:hover::before {
    left: 100%;
}
.questions__btn:hover {
    background: var(--ui_white);
    color: #153e90;
    box-shadow: 0 0 10px rgba(255,255,255,0.5);
}
@keyframes slideInText {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}
@media (max-width: 768px) {
    .questions__container {
        flex-direction: column;
        text-align: center;
    }
}
.hero1-section {
    padding: 80px 0px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(120deg, var(--ui_white) 60%, var(--ui-bg-first));
}
.hero1__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}
.hero1__content {
    width: 50%;
    max-width: 700px;
    animation: fadeInLeft 1s forwards;
    text-align: left;
}
.hero1__title {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--ui-title-muted);
    transition: color 0.3s ease;
}
@media (max-width: 1200px) {
    .hero1__title {
        font-size: 30px;
    }
}
@media (max-width: 800px) {
    .hero1__title {
        font-size: 25px;
    }
}
.hero1__title:hover {
    color: var(--ui-accent);
}
.hero1__text {
    font-size: 1rem;
    color: var(--ui-title-muted);
    margin-bottom: 30px;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    transition: color 0.3s ease;
    width: 100%;
}
.hero1__text:hover {
    color: var(--ui-title-muted);
}
.hero1__text:hover::after {
    width: 100%;
}
.hero1__text::after {
    content: "";
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--ui-accent);
    transition: width 0.3s ease;
}
.hero1__image {
    width: 50%;
    flex-shrink: 0;
    opacity: 0;
    animation: fadeInRight 1s 0.3s forwards;
}
.hero1__image img {
    width: 600px;
    max-width: 100%;
}
.hero1__decor {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    opacity: 0.4;
    z-index: 0;
}
.hero1__decor--1 {
    width: 300px;
    height: 300px;
    background: var(--ui-accent);
    top: -100px;
    left: -100px;
    animation: moveDecor1 10s ease-in-out infinite alternate;
}
.hero1__decor--2 {
    width: 200px;
    height: 200px;
    background: var(--ui-title-muted);
    bottom: -80px;
    right: -80px;
    animation: moveDecor2 12s ease-in-out infinite alternate;
}
@keyframes fadeInLeft {
    from {opacity: 0; transform: translateX(-50px);}
    to {opacity: 1; transform: translateX(0);}
}
@keyframes fadeInRight {
    from {opacity: 0; transform: translateX(50px);}
    to {opacity: 1; transform: translateX(0);}
}
@keyframes buttonAppear {
    from {opacity: 0; transform: scale(0.9);}
    to {opacity: 1; transform: scale(1);}
}
@keyframes moveDecor1 {
    0% { transform: translate(0,0) scale(1); }
    50% { transform: translate(30px, 20px) scale(1.1); }
    100% { transform: translate(-10px, -20px) scale(1.05); }
}
@keyframes moveDecor2 {
    0% { transform: translate(0,0) scale(1); }
    50% { transform: translate(-40px, 30px) scale(1.2); }
    100% { transform: translate(10px, -30px) scale(1.05); }
}
@media (max-width: 900px) {
    .hero1__container {
        flex-direction: column;
        text-align: center;
    }
    .hero1__content {
        width: 100%;
    }
    .hero1__image {
        margin-top: 30px;
        width: 100%;
    }
}
.hero2-section {
    padding: 200px 0px;
    color: var(--ui_white);
    position: relative;
    background-color: var(--ui_white);
}
.hero2-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
}
.hero2__image {
    position: absolute;
    top: 0px;
    right: 0px;
    height: 100%;
    width: 100%;
    overflow: hidden;
    background-color: var(--ui_white);
    filter: brightness(0.3);
}
.hero2__image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    position: absolute;
    top: 0px;
    left: 0px;
}
.hero2__content {
    position: relative;
    max-width: 1400px;
    margin: 0 auto;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 50px;
}
.hero2__title {
    font-size: 2.5rem;
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: 20px;
}
.hero2__title span {
    display: block;
    font-size: 2.2rem;
}
.hero2__text {
    font-size: 1rem;
    max-width: 600px;
    margin-bottom: 30px;
}
.hero2__advantages {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 40px;
}
.hero2__advantage {
    flex: 1 1 calc(20% - 20px);
    background: rgba(0, 0, 0, 0.4);
    padding: 20px;
    border-radius: 6px;
    text-align: center;
    transition: transform 0.4s ease, background 0.4s ease, opacity 0.4s ease;
    animation: floatCard 6s ease-in-out infinite;
}
.hero1-section .hero2__advantage {
    color: var(--ui_white);
}
.hero1-section .hero2__advantage p {
    margin: 0px;
}
.hero2__advantage img {
    height: 40px;
    margin-bottom: 15px;
    filter: invert(0%) sepia(100%) saturate(0%) hue-rotate(0deg);
    transition: color 0.4s ease;
}
.hero2__advantage:hover {
    transform: translateY(-10px) scale(1.05);
    opacity: 0.9;
}
@keyframes floatCard {
    0%   { transform: translateY(0); }
    50%  { transform: translateY(-5px); }
    100% { transform: translateY(0); }
}
@media (max-width: 900px) {
    .hero2__advantage {
        flex: 1 1 calc(50% - 20px);
    }
}
@media (max-width: 500px) {
    .hero2__advantage {
        flex: 1 1 100%;
    }
}
.hero3-section {
    position: relative;
    padding: 0;
}
.hero3__slider .splide__slide {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 560px;
    display: flex;
    align-items: center;
}
.hero3__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
}
.hero3__content {
    position: relative;
    z-index: 1;
    color: var(--ui_white);
    padding-top: 60px;
    padding-bottom: 60px;
    width: 1400px;
}
.hero3__title,
h1.hero3__title,
h2.hero3__title {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 20px;
    color: var(--ui_white);
}
.hero3__text {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 30px;
    color: rgba(255,255,255,0.9);
}
.hero3__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.hero3__button {
    display: inline-block;
    padding: 14px 30px;
    background: var(--ui-accent);
    color: var(--ui_white);
    border: none;
    border-radius: 4px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: opacity 0.2s ease;
}
.hero3__button:hover {
    opacity: 0.85;
    color: var(--ui_white);
}
.hero3__slider .splide__arrow {
    background: rgba(255,255,255,0.2);
    border-radius: 50%;
}
.hero3__slider .splide__arrow:hover {
    background: rgba(255,255,255,0.4);
}
.hero3__slider .splide__arrow svg {
    fill: #fff;
}
.hero3__slider .splide__pagination__page {
    background: rgba(255,255,255,0.5);
}
.hero3__slider .splide__pagination__page.is-active {
    background: var(--ui-accent);
    transform: scale(1.3);
}
@media (max-width: 768px) {
    .hero3__slider .splide__slide {
        min-height: 420px;
    }
    .hero3__title,
    h1.hero3__title,
    h2.hero3__title {
        font-size: 1.8rem;
    }
}
@media (max-width: 480px) {
    .hero3__slider .splide__slide {
        min-height: 340px;
    }
    .hero3__title,
    h1.hero3__title,
    h2.hero3__title {
        font-size: 1.4rem;
    }
}

.reviews-section {
  background: #f8f9fa;
}
.review__stars {
  font-size: 0;
}
.star {
  font-size: 20px;
  color: #ddd;
  display: inline-block;
  position: relative;
  margin-right: 2px;
}
.star.filled {
  color: #FFD700;
}
.star.half::before {
  content: '★';
  position: absolute;
  left: 0;
  width: 50%;
  overflow: hidden;
  color: #FFD700;
}
.review__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 15px;
  flex-wrap: wrap;
}
.review__header > div:first-child {
  flex: 1;
}
.review__date {
  color: #3c3c3c;
  font-size: 0.9rem;
  margin-top: 3px;
}
.review__card {
  background: white;
  border-radius: 12px;
  padding: 30px;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);
  transition: all 0.3s ease;
}
.review__card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}
.review__author {
  font-size: 18px;
  font-weight: bold;
  color: var(--ui-title-muted);
}
.review__content {
  color: #34495e;
  line-height: 1.7;
  flex-grow: 1;
  font-size: 14px;
}
.review__content p {
  margin: 0;
}
.reviews__slider {
  padding: 0 20px;
}


@media (max-width: 768px) {
  .review__card {
    padding: 20px 15px;
  }
  .review__author {
    font-size: 1.1rem;
  }
  .star {
    font-size: 16px;
  }
  .review__content {
    font-size: 0.95rem;
  }
}

.topbar {
  background: linear-gradient(90deg, var(--ui-title-muted), var(--ui-title-muted));
  color: var(--ui_white);
}
.topbar__container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 22px;
}
.topbar__item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.85);
  text-decoration: none;
  white-space: nowrap;
  transition: color .25s ease;
}
.topbar__item:hover {
  color: var(--ui_white);
}
.topbar__item svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  opacity: .95;
}
@media (min-width: 1024px){
  .topbar__item { position:relative; padding-right: calc(22px + 10px); }
  .topbar__item_icon {padding: 5px;}
}
@media (max-width: 920px){
  .topbar__container { gap:14px; }
  .topbar__item { font-size:14px; }
}
@media (max-width: 640px){
  .topbar__container {
    flex-direction: column;
    align-items: flex-start;
    gap:10px;
  }
  .topbar__item {
    white-space: normal;
    line-height: 1.4;
  }
}

.section-page {
    background-color: var(--ui-bg-first);
}
.section-page .section__body {
    font-size: 16px;
}
.breadcrumbs{
    max-width: 1400px;
    margin: 0px auto;
    padding: 20px 20px;
    font-size: 14px;
    line-height: 1.4;
    color: var(--ui-muted);
}
.category .breadcrumbs,
.single .breadcrumbs,
.templateX-commerce .breadcrumbs,
.section-page .breadcrumbs {
    padding: 20px 0px;
}
.breadcrumbs .crumb__link { color: #2563eb; text-decoration: none }
.breadcrumbs .crumb__link:hover { text-decoration: underline }
.breadcrumbs .crumb__sep { margin: 0 8px; color:#9ca3af }
.crumb__name {text-wrap-mode: nowrap;}
.breadcrumbs .crumb:last-child .crumb__name { color: #111827; }
.main-navigation .main-nav > ul {
    border-radius: 15px;
}
.main-navigation .main-nav > ul > li {
    transition: color .5s ease, background .5s ease;
}
.main-navigation .main-nav > ul > li > a {
    color: var(--ui-title-muted);
}
.main-navigation .main-nav > ul > li:hover a {
}
.humburger {
    left: unset;
    right: 20px;
}
.humburger span {
    background: var(--ui_white);
}
.main-navigation ul li.menu-item-has-children:before {
    background: none;
}
.main-navigation ul li>span {
    padding: 15px 10px;
}
.main-navigation ul li .sub-menu li>a {
    padding: 10px 10px;
    transition: color .5s ease, background .5s ease;
}
.main-navigation ul li .sub-menu li:hover>a {
    background-color: var(--ui-bg-soft);
}
.site-header {
    display: flex;
    flex-direction: column;
    gap: 5px;
    position: relative;
    left: 0;
    top: 0px;
    width: 100%;
    z-index: 999;
    padding: 20px 0px;
}
.site-header .grid-container {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.site-footer .grid-container {
    max-width: 1400px;
}
.inside-header {
    padding: 10px 20px;
}
.hero1__buttons {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 5px;
}
.hero1__button {
    display: inline-block;
    padding: 14px;
    border-radius: var(--ui_radius, 8px);
    background: var(--ui-accent);
    color: var(--ui_white);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 8px 20px var(--ui-accent-shadow-1);
    animation: buttonAppear 1s 0.7s forwards;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: none;
}
.hero1__button:hover {
    background: var(--ui-accent-2);
    transform: translateY(-1px);
    box-shadow: 0 12px 24px var(--ui-accent-shadow-2);
    color: var(--ui_white);
    text-decoration: none;
}

.hero1-section .hero1__button:nth-child(2) {
    background: var(--ui-title-muted);
}
.hero1-section .hero1__button:nth-child(2):hover {
    background: var(--ui-accent-2);
}

.hero2__button {
    background: #ffc000;
    color: var(--ui-title-muted);
    font-weight: bold;
    border: none;
    padding: 14px 30px;
    border-radius: 4px;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.hero2__button:hover {
    background: #dfa800;
    box-shadow: 0 6px 15px rgba(255,192,0,0.5);
}

body .container.grid-container:not(:has(.hero-section)) {
    position: relative;
}
.single-product .content-area,
.woocommerce-page .content-area {
    width: 100%;
}
.separate-containers .site-main {
    margin: 0px;
}
.separate-containers .inside-right-sidebar {
    margin: 0px;
    margin-right: 20px;
}
.tax-product_cat .site-content .catalog-template-area .templateX-wrapper,
.post-type-archive-product .site-content .catalog-template-area .templateX-wrapper,
.tax-product_brand .site-content .catalog-template-area .templateX-wrapper {
    display: flex;
    flex-direction: row-reverse;
}
.footer-bar-active {
    position: relative;
}
.single-product .widget-area.sidebar {
    display: none;
}
.wpc-posts-found {
    display: none;
}
.wpc-filter-title {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ui-title, #333);
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(0,0,0,0.08);
    margin-bottom: 4px;
}
.wpc-filter-content {
    font-size: 13px;
}
.wpc-filters-ul-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.wpc-checkbox-item {
    margin: 0;
    padding: 0;
}
.wpc-term-item-content-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 6px;
    border-radius: 6px;
    transition: background 0.15s;
    text-align: left;
    cursor: pointer;
}
.wpc-term-item-content-wrapper:hover {
    background: rgba(0,0,0,0.04);
}
.wpc-term-item-content-wrapper label {
    display: flex;
    align-items: center;
    gap: 0;
    flex: 1;
    min-width: 0;
    cursor: pointer;
    margin: 0;
    padding: 0;
    text-align: left;
}
.wpc-term-item-content-wrapper label a {
    flex: 1;
    min-width: 0;
    text-decoration: none;
    color: inherit;
    line-height: 1.35;
    white-space: normal;
    word-break: break-word;
    text-align: left;
}
.wpc-term-item-content-wrapper label a:hover {
    color: var(--ui-accent, #2563eb);
}
.wpc-term-count {
    flex-shrink: 0;
    font-size: 11px;
    color: var(--ui-muted, #888);
    margin-left: 4px;
    white-space: nowrap;
}
.wpc-checkbox-item input[type="checkbox"] {
    flex-shrink: 0;
}
.woocommerce nav.woocommerce-pagination {
    display: flex;
    justify-content: center;
}
.woocommerce nav.woocommerce-pagination ul {
    display: flex;
    align-items: center;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
    border: none;
}
.woocommerce nav.woocommerce-pagination ul li {
    border: none;
    margin: 0;
    padding: 0;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: var(--ui_radius_mini,12px);
    font-size: 14px;
    font-weight: 500;
    color: var(--ui-title-muted);
    background: #f3ede9;
    border: none;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: var(--ui-accent-2);
    color: var(--ui_white);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--ui-accent);
    color: var(--ui_white);
    font-weight: 700;
}
.woocommerce nav.woocommerce-pagination ul li span.dots {
    background: transparent;
    color: var(--ui-muted);
}
@media (max-width: 480px) {
    .woocommerce nav.woocommerce-pagination ul {
        gap: 4px;
    }
    .woocommerce nav.woocommerce-pagination ul li a,
    .woocommerce nav.woocommerce-pagination ul li span {
        min-width: 34px;
        height: 34px;
        font-size: 13px;
        border-radius: 8px;
    }
}
.wpx-catalog-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 50px 0px;
    flex-wrap: wrap;
}
.wpx-catalog-footer .woocommerce-pagination {
    margin: 0;
}
@media (max-width: 600px) {
    .wpx-catalog-footer {
        flex-direction: column;
        align-items: stretch;
    }
    .wpx-load-more-wrap { align-items: stretch; }
    .wpx-load-more-btn  { justify-content: center; }
    .wpx-load-more-info { text-align: center; }
}

.wpx-load-more-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}
.wpx-load-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 40px;
    border: 2px solid var(--ui-accent);
    border-radius: var(--ui_radius_mini,12px);
    background: transparent;
    color: var(--ui-accent);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    height: 40px;
}
.wpx-load-more-btn:hover {
    background: var(--ui-accent);
    color: var(--ui_white);
}
.wpx-load-more-btn:disabled {
    opacity: 0.6;
    cursor: default;
    background: transparent;
    color: var(--ui-accent);
}
.wpx-load-more-btn .wpx-spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: wpx-spin 0.6s linear infinite;
}
@keyframes wpx-spin { to { transform: rotate(360deg); } }
.wpx-load-more-info {
    font-size: 13px;
    color: var(--ui-title-muted);
    margin: 0;
    opacity: 0.7;
}

.woocommerce ul.products li.product .button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center;
    background: var(--ui-accent);
    color: var(--ui_white);
    height: 50px;
    margin-top: 10px;
    border-radius: var(--ui_radius, 12px);
}
.woocommerce ul.products li.product button.ajax_add_to_cart:hover {
    background: var(--ui-accent-2);
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
    margin: 0px;
    border-radius: var(--ui_radius, 12px);
}
.woocommerce ul.products li.product a img {
    border-radius: var(--ui_radius, 12px) var(--ui_radius, 12px) 0px 0px;
    min-height: 280px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    padding: 0px;
    line-height: 1;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title a {
    color: var(--ui-title-muted);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title a:hover {
    color: #000;
}
@media (max-width: 900px) {
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: 16px;
    }
}
.woocommerce ul.products li.product .price {
    margin: 0px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1;
}
.woocommerce ul.products li.product .price .amount {
    color: var(--ui-title-muted);
    font-weight: bold;
    font-size: 20px;
}
.woocommerce ul.products li.product .price del .amount {
    font-size: 14px;
}
.wpx-viewed-splide .splide__slide li.product .price del,
.wpx-products-wrap ul.products li.product .price del {
    color: #999;
    opacity: 1;
}
.product-info {
    margin: 0px 20px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.product-info-first {
    margin-bottom: 10px;
}
.product-availability {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 20px;
    line-height: 1.4;
}
.product-availability::before {
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}
.product-availability.in-stock {
    color: #166534;
    background: #dcfce7;
}
.product-availability.in-stock::before {
    background: #16a34a;
    box-shadow: 0 0 0 2px #bbf7d0;
}
.product-availability.out-of-stock {
    color: #991b1b;
    background: #fee2e2;
}
.product-availability.out-of-stock::before {
    background: #dc2626;
    box-shadow: 0 0 0 2px #fecaca;
}
.product-availability.available-on-backorder {
    color: #92400e;
    background: #fef3c7;
}
.product-availability.available-on-backorder::before {
    background: #d97706;
    box-shadow: 0 0 0 2px #fde68a;
}
.product-buttons {
    display: flex;
    gap: 10px;
    flex-direction: row;
    justify-content: flex-start;
}
@media (max-width: 1024px) {
    .single-product .product-buttons {
        flex-direction: column;
    }
}
@media (max-width: 768px) {
    .single-product .product-buttons {
        flex-direction: row;
    }
}
@media (max-width: 400px) {
    .single-product .product-buttons {
        flex-direction: column;
    }
}
.woocommerce ul.products {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 20px;
}
@media (max-width: 768px) {
    .woocommerce ul.products {
        gap: 10px;
        justify-content: flex-start;
        align-items: stretch;
    }
}
.custom-product-card {
    transition: box-shadow 0.3s;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    background: #fff;
    height: 100%;
    border-radius: var(--ui_radius, 12px);
}
.custom-product-card:hover {
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
.product-image img {
    max-width: 100%;
    height: auto;
    border-radius: 3px;
}
.product-image a.has-zoom {
    display: block;
    overflow: hidden;
    border-radius: 3px;
}
.product-image a.has-zoom img {
    transition: transform .35s ease;
    border-radius: 0;
    will-change: transform;
}
.product-image a.has-zoom:hover img {
    transform: scale(1.07);
}
.product-title {
    margin: 0px;
    padding: 0px;
    font-size: 16px;
}
.product-attributes {
    font-size: 0.9em;
    color: #555;
    margin: 10px 0;
}
.price-prefix {
    display: block;
    font-size: 0.78em;
    font-weight: 400;
    color: var(--ui-title-muted, #888);
    margin-bottom: 2px;
    line-height: 1.2;
}
.product-price-block {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}
.single-product .product-price-block {
    margin: 20px 0px;
}
.single-product .product-price {
    width: 50%;
    font-weight: bold;
    line-height: 1;
    display: flex;
    flex-direction: column;
    font-size: 28px;
}
.single-product .product-price del {
    color: #515151;
    font-size: 18px;
}
.single-product .product-price bdi {
    color: #000;
}
.quantity {
    display: flex;
    align-items: center;
    gap: 4px;
}
.quantity .qty {
    width: 44px !important;
    height: 32px;
    text-align: center;
    border: 1px solid var(--ui-border-color, #e5e7eb);
    border-radius: var(--ui_radius_mini, 6px);
    font-size: 14px;
    padding: 0;
}
.quantity .minus,
.quantity .plus {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    width: 32px;
    height: 32px;
    font-size: 18px;
    padding: 0;
    background: var(--ui-accent);
    color: #fff;
    border-radius: var(--ui_radius_mini, 8px);
    line-height: 1;
    flex-shrink: 0;
    transition: background .15s;
    user-select: none;
    -webkit-user-select: none;
    border: none;
}
.quantity .minus:hover,
.quantity .plus:hover {
    background: var(--ui-accent-2);
}
.quantity .minus:disabled,
.quantity .plus:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.added::after {
    content: none !important;
}
.woocommerce .ajax_add_to_cart.added::after,
.single-product .add_to_cart_button { border-radius: var(--ui_radius, 6px); }
.woocommerce .add_to_cart_button.added::after,
.woocommerce a.button.added::after {
    content: none !important;
}
a.added_to_cart.wc-forward {
    display: none !important;
}
.remove-from-cart {
    background: var(--ui-title-muted) !important;
}
.xoo-wsc-menu-item {
    padding: 0px 5px;
    line-height: 0px;
}
.product-add-to-cart .button {
    background: var(--ui-accent, #2ecc71);
    color: var(--ui_white, #fff);
    padding: 10px 20px;
    border-radius: 5px;
}
.single-product .product-add-to-cart {
    width: 100%;
}
.single-product .product-add-to-cart .button {
    width: 100%;
    text-align: center;
    background: var(--ui-accent);
    color: var(--ui_white);
    height: 50px;
    border-radius: var(--ui_radius, 8px);
}
.product-add-to-cart .button:hover {
    background: var(--ui-accent-2, #27ae60);
}
.single-product .product-add-to-cart .button:hover {
    background: var(--ui-accent-2);
    color: var(--ui_white);
}

.product-add-to-cart .button.loading {
    opacity: 0.5;
    cursor: not-allowed;
}
.cart-notice {
    position: fixed;
    top: 20px;
    right: 20px;
    background: #2ecc71;
    color: white;
    padding: 10px 20px;
    border-radius: 5px;
    z-index: 9999;
}
.product-attributes.dots-gradient {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.attribute-line {
    display: flex;
    align-items: flex-end;
    gap: 0 5px;
    line-height: 1.5;
    min-height: 1.5em;
    position: relative;
}
.attribute-line:hover .attribute-data {
    position: absolute;
    right: 0;
    top: calc(100% + 2px);
    max-width: none;
    white-space: normal;
    overflow: visible;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
    padding: 5px 10px;
    z-index: 20;
    font-size: 12px;
    line-height: 1.4;
}
.attribute-label {
    font-size: 13px;
    flex: 0 0 auto;
    max-width: 45%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #888;
    order: 1;
}
.attribute-dots {
    flex: 1 1 auto;
    min-width: 12px;
    background: radial-gradient(circle, #ccc 1px, transparent 1px);
    background-size: 5px 2px;
    background-position: 0 center;
    background-repeat: repeat-x;
    height: 6px;
    order: 2;
}
.attribute-data {
    font-size: 13px;
    font-weight: 500;
    flex: 0 1 auto;
    min-width: 0;
    max-width: 55%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #333;
    order: 3;
}
@media (max-width: 768px) {
    .woocommerce ul.products li.product {
        width: calc(50% - 10px);
    }
}
@media (max-width: 540px) {
    .woocommerce ul.products li.product {
        width: 100% !important;
    }
}
@media (max-width: 480px) {
    .woocommerce ul.products li.product {
        width: 100%;
    }
}
input[type="number"] {
    -moz-appearance: textfield;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.splide__arrow {
    width: 40px;
    height: 40px;
    opacity: 1;
    background: var(--ui-accent);
}
.splide__arrow:hover:not(:disabled) {
    background: var(--ui-accent-2);
}
.splide__arrow svg {
    fill: white;
    width: 20px;
    height: 20px;
}
.splide__track {
    padding: 20px 0px;
}
.splide__pagination {
    bottom: 30px;
}
.splide__pagination__page {
    background: #bdc3c7;
    width: 10px;
    height: 10px;
    margin: 0 5px;
}
.splide__pagination__page.is-active {
    background: var(--ui-accent);
    transform: scale(1.2);
}

.product-main {
    display: flex;
    flex-direction: row;
    gap: 20px;
    margin: 20px 0;
}
.product-summary {
    width: 60%;
}
.product-images {
    position: relative;
    width: 40%;
    margin: 0;
    max-width: 100%;
    border-radius: var(--ui_radius, 10px);
    box-shadow: 5px 5px 15px 0px #cecece;
}
.product-images .splide__track {
    padding: 0px;
    border-radius: var(--ui_radius, 10px);
    overflow: hidden;
}
@media (max-width: 768px) {
    .product-main {
        flex-direction: column-reverse;
        align-items: center;
    }
    .product-images {
        width: 100%;
    }
    .product-summary {
        width: 100%;
    }
}
.product-images img {
    width: 100%;
    height: 400px;
    object-fit: cover;
}
.product-image {
    width: 100%;
    height: auto;
    object-fit: contain;
    max-height: 500px;
    cursor: pointer;
    transition: transform 0.4s ease;
    display: block;
}

.product-images .splide__slide {
    overflow: hidden;
    position: relative;
}
.product-images .splide__slide a {
    display: block;
    overflow: hidden;
    position: relative;
}
.product-images .splide__slide a::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0);
    transition: background 0.3s ease;
    pointer-events: none;
    z-index: 1;
}
.product-images .splide__slide a:hover::after {
    background: rgba(0, 0, 0, 0.06);
}
.product-images .splide__slide a:hover .product-image {
    transform: scale(1.04);
}
.product-images .splide__slide .zoom-hint {
    position: absolute;
    bottom: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: scale(0.8);
    transition: opacity 0.25s ease, transform 0.25s ease;
    z-index: 2;
    pointer-events: none;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.product-images .splide__slide a:hover .zoom-hint {
    opacity: 1;
    transform: scale(1);
}
.product-quick-order {
    width: 100%;
}
.single-product .quick-order-btn {
    font-weight: bold;
    background-color: #fff;
    color: var(--ui-accent);
    border-radius: 5px;
    border: 2px solid var(--ui-accent);
    width: 100%;
    text-align: center;
    height: 50px;
    line-height: 1;
    transition: background 0.2s, color 0.2s;
}
.single-product .quick-order-btn:hover {
    background: var(--ui-accent);
    color: #fff;
}
.product-tabs {
    margin: 50px 0;
}
.tabs-nav {
    display: flex;
    list-style: none;
    padding: 0;
    border-bottom: 2px solid #eee;
}
.tabs-nav li {
    margin-right: 30px;
}
.tabs-nav a {
    padding: 15px;
    text-decoration: none;
    color: #333;
}
.tabs-nav a.active {
    border-bottom: 2px solid #0073aa;
    color: #0073aa;
}

.tab-content {
    display: none;
    padding: 30px 0;
}
.tab-content.active {
    display: block;
}

#quick-order-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 9999;

}
.modal-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background: white;
    padding: 30px;
    border-radius: 10px;
    width: 400px;
}

.specs-grid {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 0px;
    border-radius: var(--ui_radius, 8px);
    border-left: 4px solid var(--ui-accent);
    border-right: 4px solid var(--ui-accent);
}
.spec-item {
    display: flex;
    justify-content: space-between;
    padding: 5px 15px;
}
@media (max-width: 768px) {
    .spec-item {
        flex: 1 1 100%;
    }
}
.categories-grid { 
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 25px;
    margin: 40px 0;
}
.category-card {
    width: 30%;
    border-radius: var(--ui_radius, 12px);
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    background: #fff;
}
@media (max-width: 779px) {
    .categories-grid {
        gap: 10px;
    }
    .category-info a {
        font-size: 14px;
    }
    .category-count {
        font-weight: lighter;
    }
}
@media (max-width: 756px) {
    .category-card {
        width: 48%;
    }
}
@media (max-width: 400px) {
    .category-card {
        width: 100%;
    }
    .category-card .category-image {
        display: none;
    }

}
.category-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}
.category-card--featured {
    background: var(--ui-accent);
}
.category-card--featured .category-info a,
.category-card--featured .category-info .subcategory-link,
.category-card--featured .category-info .category-link {
    color: #fff;
}
.category-card--featured .category-count {
    background: #fff;
    color: var(--ui-accent);
}
.category-card--featured:hover {
    box-shadow: 0 10px 25px color-mix(in srgb, var(--ui-accent) 40%, transparent);
}
.category-link { 
    text-decoration: none; 
    color: inherit; 
    display: block; 
}
.category-image { 
    height: 150px; 
    background: #f9f9f9; 
    position: relative; 
    overflow: hidden; 
}
.category-image img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
}
.category-image .no-image {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
}
.category-info {
    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}
.category-info a {
    font-size: 16px;
    margin: 0 0 10px;
    color: #333;
}
.category-count {
    background: var(--ui-accent);
    color: white;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: normal;
    text-wrap-mode: nowrap;
}
@media (max-width: 768px) {
    .categories-grid { grid-template-columns: 1fr; }
    .shop-title { font-size: 28px; }
}
.category .site-content {
    margin: 0 auto;
}
.category .site-content .content-area {
    width: 100%;
}
.single .site-content .content-area {
    width: 100%;
}

.posts-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
    margin: 40px 0;
}
.post-card { 
    width: calc(33% - 10px);
    background: white; 
    border-radius: 12px; 
    overflow: hidden; 
    box-shadow: 0 5px 15px rgba(0,0,0,0.1); 
    transition: all 0.3s ease; 
}
.post-card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0,0,0,0.15); }
@media (max-width: 1024px) {
    .post-card {
        width: calc(50% - 10px);
    }
}
@media (max-width: 670px) {
    .post-card {
        width: 100%;
    }
}
.post-image img { width: 100%; height: 200px; object-fit: cover; }
.post-content { padding: 20px; }
.post-date { color: #666; font-size: 14px; }
.post-title { font-size: 16px; margin: 10px 0; }
.post-title a { color: #333; text-decoration: none; }
.post-excerpt { color: #666; line-height: 1.6; }
.read-more { color: #0073aa; text-decoration: none; font-weight: bold; }

.post-categories {
    display: flex;
    gap: 5px;
    margin-top: 20px;
}

.single-image {
    position: relative;
    width: 100%;
    min-height: 420px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 16px;
    overflow: hidden;
    margin: 24px 0 32px;
    display: flex;
    align-items: flex-end;
}
.single-image__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.2) 55%, rgba(0,0,0,0) 100%);
}
.single-image .single-header {
    position: relative;
    z-index: 1;
    width: 100%;
    padding: 36px 40px;
    margin: 0;
    color: #fff;
}
.single-image .single-header h1 {
    color: #fff;
    font-size: 36px;
    margin: 10px 0 14px;
    line-height: 1.25;
}
.single-image .single-date {
    color: rgba(255,255,255,0.75);
    font-size: 14px;
    margin-bottom: 4px;
}
.single-image .single-categories a {
    background: rgba(255,255,255,0.18);
    border: 1px solid rgba(255,255,255,0.35);
    backdrop-filter: blur(6px);
    color: #fff;
}
.single-image .single-categories a:hover {
    background: var(--ui-accent);
    border-color: var(--ui-accent);
}
@media (max-width: 768px) {
    .single-image { min-height: 300px; border-radius: 10px; }
    .single-image .single-header { padding: 24px 20px; }
    .single-image .single-header h1 { font-size: 24px; }
}

.single-header { margin: 40px 0; }
.single-header h1 { font-size: 36px; margin: 20px 0; }
.single-date { color: #666; }
.single-categories a {
    background: var(--ui-accent);
    color: white;
    padding: 5px 10px;
    border-radius: 15px;
    text-decoration: none;
    font-size: 14px;
}
.single-content { line-height: 1.8; font-size: 18px; margin: 30px 0; }

.archive-header { margin: 40px 0; }
.archive-header h1 { font-size: 32px; color: #333; }

.related-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin: 40px 0; }
.related-grid .post-card { width: 100%; }
@media (max-width: 900px) { .related-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .related-grid { grid-template-columns: 1fr; } }
.related-card { text-decoration: none; text-align: center; }
.related-card img { width: 100%; height: 100px; object-fit: cover; border-radius: 8px; }
.related-card h4 { font-size: 16px; margin: 10px 0; color: #333; }

.pagination { text-align: center; margin: 40px 0; }
.pagination .page-numbers { padding: 10px 15px; margin: 0 5px; background: #f9f9f9; border-radius: 5px; text-decoration: none; }

.blog-sidebar { background: #f9f9f9; padding: 20px; border-radius: 10px; }

@media (max-width: 768px) {
    .blog-container { grid-template-columns: 1fr; }
    .posts-grid { grid-template-columns: 1fr; }
}
.site-logo img {
    height: 50px;
    width: auto;
}
@media (max-width: 768px) {
    .site-logo img {
        height: 40px;
    }
}
@media (max-width: 440px) {
    .site-logo img {
        height: 30px;
    }
}
#primary-menu {
    width: 100%;
}
#menu-glavnoe-menyu {
    display: flex;
    flex-direction: row;
    text-wrap-mode: nowrap;
    flex-wrap: nowrap;
    gap: 10px;
    width: 100%;
    align-items: center;
}
#menu-glavnoe-menyu > li:first-child > a {
    border-radius: var(--ui_radius_mini, 10px);
    padding: 0px 5px;
    color: #fff;
    background: var(--ui-accent);
    line-height: 40px;
    height: 40px;
}
#menu-glavnoe-menyu > li:first-child:hover > a {
    background: var(--ui-accent-2);
}
#menu-glavnoe-menyu > li.menu-item-has-children:first-child > a::after {
    border-top: 5px solid #fff;
}
@media (max-width: 768px) {
    #menu-glavnoe-menyu {
        flex-direction: column;
    }
}
#menu-glavnoe-menyu .xoo-wsc-menu-item {
    margin-left: auto;
}

@media (min-width: 769px) {
    #menu-glavnoe-menyu > li.wpx-city-menu-item,
    #menu-glavnoe-menyu > li.wpx-compare-menu-item,
    #menu-glavnoe-menyu > li.wpx-wishlist-menu-item {
        margin-left: auto;
    }
    #menu-glavnoe-menyu > li.wpx-city-menu-item ~ li.wpx-compare-menu-item,
    #menu-glavnoe-menyu > li.wpx-city-menu-item ~ li.wpx-wishlist-menu-item,
    #menu-glavnoe-menyu > li.wpx-city-menu-item ~ li.wpx-cart-menu-item,
    #menu-glavnoe-menyu > li.wpx-compare-menu-item ~ li.wpx-wishlist-menu-item,
    #menu-glavnoe-menyu > li.wpx-wishlist-menu-item ~ li.wpx-cart-menu-item,
    #menu-glavnoe-menyu > li.wpx-compare-menu-item ~ li.wpx-cart-menu-item {
        margin-left: 0;
    }
}

#menu-glavnoe-menyu > li.wpx-cart-menu-item .wpx-menu-cart {
    border-radius: var(--ui_radius_mini, 10px);
    background: var(--ui-accent);
    color: #fff;
    height: 40px;
    padding: 0 12px;
}

#menu-glavnoe-menyu > li.wpx-cart-menu-item .wpx-menu-cart:hover {
    background: var(--ui-accent-2);
}

#menu-glavnoe-menyu > li.wpx-cart-menu-item .wpx-menu-cart svg {
    stroke: #fff;
}

#menu-glavnoe-menyu > li.wpx-cart-menu-item .wpx-menu-cart__count {
    background: #fff;
    color: var(--ui-accent);
}

#menu-glavnoe-menyu > li.wpx-cart-menu-item .wpx-menu-cart__total {
    color: #fff;
}

/* Compare / wishlist menu items */
#menu-glavnoe-menyu > li.wpx-compare-menu-item,
#menu-glavnoe-menyu > li.wpx-wishlist-menu-item {
    display: flex;
    align-items: center;
}
#menu-glavnoe-menyu > li.wpx-compare-menu-item a,
#menu-glavnoe-menyu > li.wpx-wishlist-menu-item a {
    padding: 0;
}
.wpx-menu-extra-link {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
.wpx-menu-extra__icon-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--ui_radius_mini, 10px);
    color: var(--ui-title-muted, #474747);
    transition: background 0.2s, color 0.2s;
}
.wpx-menu-extra__icon-wrap:hover {
    background: var(--ui-bg-hover, #f4f4f4);
}
#menu-glavnoe-menyu > li.wpx-compare-menu-item .wpx-menu-extra__icon-wrap:hover {
    background: var(--ui-accent);
    color: #fff;
}
#menu-glavnoe-menyu > li.wpx-compare-menu-item .wpx-menu-extra__icon-wrap:hover svg {
    stroke: #fff;
}
.wpx-menu-extra__count {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 10px;
    background: var(--ui-accent);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    display: none;
    align-items: center;
    justify-content: center;
    line-height: 1;
    text-align: center;
}
#menu-glavnoe-menyu > li.wpx-wishlist-menu-item .wpx-menu-extra__icon-wrap:hover svg {
    fill: var(--ui-accent);
    stroke: var(--ui-accent);
}

/* Mobile label for compare / wishlist / cart */
.wpx-menu-extra__mobile-label {
    display: none;
    font-size: 13px;
    font-weight: 500;
    margin-left: 8px;
    color: inherit;
    white-space: nowrap;
}
@media (max-width: 768px) {
    .wpx-menu-extra__mobile-label {
        display: inline;
    }
    #menu-glavnoe-menyu > li.wpx-compare-menu-item,
    #menu-glavnoe-menyu > li.wpx-wishlist-menu-item {
        margin-left: 0;
        width: 100%;
    }
    #menu-glavnoe-menyu > li.wpx-compare-menu-item a,
    #menu-glavnoe-menyu > li.wpx-wishlist-menu-item a {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
    }
    #menu-glavnoe-menyu > li.wpx-cart-menu-item .wpx-menu-cart {
        justify-content: flex-start;
        width: 100%;
        border-radius: var(--ui_radius_mini, 10px);
        padding: 0 12px;
    }
}

.sub-menu-right {
    margin-left: auto;
}

.main-menu .sub-menu {
    position: absolute;
    background: var(--ui_white);
    min-width: 220px;
    box-shadow: 0 12px 36px rgba(0,0,0,.13);
    border: 1px solid #e9ecef;
    border-radius: 12px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s;
    z-index: 999;
    padding: 8px 0;
    list-style: none;
}
@media (min-width: 769px) {
    .main-menu .menu-item-has-children:hover > .sub-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        width: auto;
    }
}
.main-navigation ul li .sub-menu li > a {
    padding: 9px 20px;
    font-size: 14px;
    color: var(--ui-title-muted, #474747);
    display: block;
    transition: color .15s, background .15s, padding-left .15s;
    border-radius: 0;
    font-weight: 400;
}
.main-navigation ul li .sub-menu li:hover > a {
    background: var(--ui-bg-hover, #ffeaef);
    color: var(--ui-accent);
    padding-left: 26px;
}
.main-navigation ul li .sub-menu li.current-menu-item > a {
    color: var(--ui-accent);
    font-weight: 600;
    background: color-mix(in srgb, var(--ui-accent) 8%, transparent);
}

.mobile-menu-toggle-wrapper {
    display: none;
}
.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
    color: #000;
    background: none;
    border-radius: 8px;
}
.mobile-logo,
.mobile-contact-form,
.mobile-menu-contacts {
    display: none;
}
.desktop-menu-contacts {
    display: flex;
    justify-content: space-between;
    width: 100%;
    font-size: 14px;
}
@media (max-width: 1100px) {
    .desktop-menu-contacts .block_icons.time {
        display: none;
    }
}
@media (max-width: 1024px) {
    .desktop-menu-contacts {
        font-size: 14px;
    }
    .widget-area {
        display: none;
        position: fixed !important;
        top: 0;
        left: -320px;
        width: 320px;
        height: 100%;
        background: var(--ui_white);
        z-index: 999;
        transition: left 0.3s ease;
        overflow-y: auto;
        padding: 20px;
        box-shadow: 2px 0 15px rgba(0, 0, 0, 0.1);
        margin-left: auto;
        flex-basis: 100%;
    }
    .widget-area.active {
        left: 0;
        display: block;
        z-index: 1000;
        padding: 0px;
    }
    .widget-area.active .inside-right-sidebar {
        margin: 0px;
    }
    .widget-area.active .widget_wpc_filters_widget {
        padding: 20px;
    }
}
@media (max-width: 900px) {
    .desktop-menu-contacts .block_icons.email {
        display: none;
    }
}
@media (max-width: 768px) {
    .desktop-menu-contacts {
        display: none;
    }
}

@media (max-width: 768px) {
    .mobile-menu-contacts {
        display: flex !important;
        flex-direction: column;
        gap: 10px;
        text-align: left;
        color: #000;
        margin-top: 30px;
        font-size: 16px;
    }
    .mobile-menu-toggle-wrapper {
        display: flex;
        align-items: center;
        gap: 5px;
    }
    .mobile-menu-toggle-wrapper .mobile-contact-form {
        margin: 0px;
    }
    .mobile-menu-toggle-wrapper .mobile-contact-form button {
        font-size: 14px;
        padding: 10px;
    }
    .mobile-menu-toggle {
        display: block;
    }
    .main-nav {
        width: 100%;
    }
    .main-navigation .main-nav > ul > li {
        width: 100%;
    }
    .main-navigation .main-nav > ul > li > a {
        padding: 0px 10px;
    }
    .main-navigation {
        position: fixed;
        top: 0;
        left: -320px;
        width: 320px;
        height: 100%;
        background: var(--ui_white);
        z-index: 999;
        transition: left 0.3s ease;
        overflow-y: auto;
        padding: 20px;
        box-shadow: 2px 0 15px rgba(0,0,0,0.1);
    }
    .main-navigation.active {
        left: 0;
        z-index: 1000;
    }
    .inside-navigation {
        display: flex;
        flex-direction: column;
    }
    .mobile-logo {
        display: block !important;
        text-align: center;
        padding: 20px;
        border-bottom: 1px solid #eee;
    }
    .mobile-logo img {
        max-height: 50px;
        width: auto;
    }
    .main-menu {
        flex-direction: column;
        gap: 0;
    }
    .main-menu li {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        border-bottom: 1px solid #f0ebe7;
    }
    .main-menu li:last-child {
        border-bottom: none;
    }
    .main-menu a {
        flex: 1;
        display: block;
        padding: 13px 0;
        font-size: 18px;
    }
    .submenu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        width: 36px;
        height: 36px;
        background: var(--ui-accent);
        color: var(--ui_white);
        border: none;
        border-radius: var(--ui_radius_mini, 8px);
        cursor: pointer;
        font-size: 22px;
        line-height: 1;
        transition: background 0.2s;
        padding: 0;
        margin-left: 10px;
    }
    .submenu-toggle:hover {
        background: var(--ui-accent-2);
    }
    .main-navigation .main-menu .menu-item-has-children:hover > .sub-menu,
    .main-navigation ul li.menu-item-has-children:hover > ul.sub-menu,
    .main-navigation ul li:hover > ul.sub-menu {
        opacity: 0 !important;
        visibility: hidden !important;
        display: none !important;
    }
    .main-navigation .main-menu .menu-item-has-children.active > .sub-menu {
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
    }
    .main-menu .sub-menu {
        flex-basis: 100%;
        position: static;
        display: none;
        visibility: visible;
        opacity: 1;
        box-shadow: none;
        border-left: 3px solid var(--ui-accent);
        border-radius: 0 0 5px 5px;
        padding-left: 10px;
        margin-bottom: 4px;
    }
    .main-menu .sub-menu li {
        border-bottom: 1px solid #f5f0ec;
    }
    .main-menu .sub-menu li:last-child {
        border-bottom: none;
    }
    .main-menu .sub-menu a {
        font-size: 16px;
        padding: 10px 0;
        color: var(--ui-muted);
    }
    .main-menu .sub-menu .submenu-toggle {
        width: 30px;
        height: 30px;
        font-size: 18px;
    }
    .main-menu .menu-item-has-children.active > .sub-menu {
        display: block;
    }
    .main-menu .menu-item-has-children > a::after {
        display: none !important;
    }
    .mobile-contact-form {
        display: flex !important;
        margin-top: 30px;
        flex-direction: column;
        gap: 10px;
        width: 100%;
    }
}
@media (max-width: 440px) {
    .mobile-menu-toggle-wrapper .mobile-contact-form button {
        font-weight: normal;
        font-size: 12px;
        text-wrap-mode: wrap;
        padding: 7px;
        line-height: 1;
        width: min-content;
    }
}

.mobile-menu-overlay,
.right-sidebar-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.8);
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    z-index: 999;
}
.mobile-menu-overlay.active,
.right-sidebar-overlay.active {
    opacity: 1;
    visibility: visible;
}

@media (min-width: 769px) {
    .submenu-toggle {
        display: none;
    }
}

.main-menu .menu-item-has-children > a::after {
    content: '';
    display: inline-block;
    margin-left: 8px;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid var(--ui-accent);
    transition: transform 0.3s ease;
    vertical-align: middle;
}

@media (min-width: 769px) {
    .main-menu .menu-item-has-children:hover > a::after {
        transform: rotate(180deg);
    }
}

@media (max-width: 768px) {
    .main-menu .menu-item-has-children > a {
        position: relative;
        padding-right: 40px !important;
    }

    .main-menu .menu-item-has-children > a::after {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        margin-left: 10px;
    }

    .main-menu .menu-item-has-children.active > a::after {
        transform: translateY(-50%) rotate(180deg);
    }
}

.mobile-menu-close,
.right-sidebar-close {
    display: none;
    position: absolute;
    top: 50px;
    right: 20px;
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    width: 30px;
    height: 30px;
    padding: 0;
}

.mobile-menu-close svg,
.right-sidebar-close svg {
    fill: var(--ui_white);
    width: 100%;
    height: 100%;
}

@media (max-width: 768px) {
    .mobile-menu-close,
    .right-sidebar-close {
        display: block;
    }
}

.block_icons {
    display: flex;
    flex-direction: row;
    align-items: center;
    text-wrap-mode: nowrap;
    gap: 5px;
    font-size: 16px;
}
@media (max-width: 768px) {
    .block_icons {
        text-wrap-mode: wrap;
        line-height: 1;
    }
}
.block_icons .svg_icon {
    display: flex;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50px;
    padding: 5px;
}

.svg_icon path, .svg_icon circle, .svg_icon polygon, .svg_icon rect {
    fill: var(--ui-accent);
}
.svg_icon .st0 {
    fill: none;
    stroke: var(--ui-accent);
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10;
}
.main-navigation .inside-navigation {
    display: flex;
    align-items: center;
    min-height: 60px;
}

#primary-menu li.hidden {
    display: none !important;
}
.main-menu {
    display: flex;
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
    flex-shrink: 0;
}
.main-menu li {
    white-space: nowrap;
}
.main-menu a {
    color: #333;
    text-decoration: none;
    font-weight: 500;
    padding: 8px 0;
    display: block;
}

.menu-more-wrapper {
    position: relative;
    margin-left: 10px;
}
.menu-more-toggle {
    background: none;
    border: none;
    font-weight: 500;
    color: #333;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 6px;
    transition: background 0.2s;
}
.menu-more-toggle:hover {
    background: #f0f0f0;
}
.menu-more-toggle svg {
    transition: transform 0.2s;
}
.menu-more-toggle[aria-expanded="true"] svg {
    transform: rotate(180deg);
}
.menu-more-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 200px;
    background: var(--ui_white);
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    margin: 0;
    padding: 10px 0;
    list-style: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.2s ease;
    z-index: 999;
}
.menu-more-dropdown.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.menu-more-dropdown li {
    margin: 0;
}
.menu-more-dropdown a {
    display: block;
    padding: 10px 20px;
    color: #333;
    text-decoration: none;
}
.menu-more-dropdown a:hover {
    background: #f8f8f8;
    color: #0073aa;
}
.woocommerce .products ul::after,
.woocommerce .products ul::before,
.woocommerce ul.products::after,
.woocommerce ul.products::before {
    display: none !important;
}
.catalog-tools {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
    gap: 5px;
}
@media (max-width: 360px) {
    .catalog-tools {
        flex-direction: column;
    }
    .woocommerce .woocommerce-ordering {
        width: 100%;
    }
    .woocommerce .woocommerce-ordering select {
        width: 100%;
        text-align: center;
    }
    .right-sidebar-toggle {
        width: 100%;
    }
}
.woocommerce .woocommerce-ordering {
    margin: 0px;
}
.wpx-per-page {
    display: flex;
    align-items: center;
    gap: 4px;
}
.wpx-per-page-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 8px;
    border: 1px solid var(--ui-border, #ddd);
    border-radius: var(--ui_radius_mini, 4px);
    background: transparent;
    color: var(--ui-title, #333);
    font-size: 13px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.wpx-per-page-btn:hover {
    border-color: var(--ui-accent, #0073aa);
    color: var(--ui-accent, #0073aa);
}
.wpx-per-page-btn.active {
    background: var(--ui-accent, #0073aa);
    border-color: var(--ui-accent, #0073aa);
    color: #fff;
    cursor: default;
}
@media (max-width: 360px) {
    .wpx-per-page { width: 100%; justify-content: center; }
    .wpx-per-page-btn { flex: 1; }
}
@media (max-width: 1024px) {
    .separate-containers .inside-article {
        padding: 0px;
    }
    .catalog-template-area {
        background: var(--ui_white);
    }
}
.site-footer .footer-widgets-container .inside-footer-widgets,
.widget ul li.menu-item {
    font-size: 16px;
}
.footer1_text {
    font-size: 16px;
}
.footer1_caption {
    font-size: 13px;
    line-height: 1.6;
    color: var(--ui-muted, #6b7280);
}
.footer1_buttons {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 4px;
}
.footer1_btn {
    display: block;
    width: 100%;
    padding: 14px 20px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
    border: 2px solid var(--ui-accent, #FF6602);
    background: transparent;
    color: var(--ui-accent, #FF6602) !important;
    transition: background .18s, color .18s;
    line-height: 1.3;
    box-sizing: border-box;
}
.footer1_btn:hover {
    background: var(--ui-accent, #FF6602);
    color: #fff !important;
}
.footer1_btn--primary {
    background: var(--ui-accent, #FF6602);
    border-color: var(--ui-accent, #FF6602);
    color: #fff !important;
}
.footer1_btn--primary:hover {
    background: #e05500;
    border-color: #e05500;
    color: #fff !important;
}
.copyright {
    font-size: 16px;
}
.created {
    font-size: 16px;
}
.main-navigation a {
    font-size: 14px;
}
.right-sidebar-toggle {
    display: none;
}
.right-sidebar-toggle .gp-icon {
    align-items: center;
    font-size: 14px;
    gap: 5px;
}
.sidebar-header {
    font-size: 20px;
    line-height: 1.2em;
    font-weight: 400;
    text-transform: none;
    background: var(--ui-accent);
    color: white;
    padding: 10px 20px 10px 20px;
    border-radius: var(--ui_radius_mini, 10px) var(--ui_radius_mini, 10px) 0px 0px;
}
.sidebar .widget {
    padding: 10px 20px 10px 20px;
}

.sidebar-categories {
    margin-top: 16px;
    border-radius: var(--ui_radius_mini);
    overflow: hidden;
    border: 1px solid var(--ui-border, #e5e7eb);
    background: #fff;
}
.sidebar-categories .sidebar-header {
    border-radius: var(--ui_radius_mini, 10px) var(--ui_radius_mini, 10px) 0 0;
}
.sidebar-cat-list,
.sidebar-subcat-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.sidebar-cat-item {
    border-bottom: 1px solid var(--ui-border, #e5e7eb);
}
.sidebar-cat-item:last-child {
    border-bottom: none;
}
.sidebar-cat-row {
    display: flex;
    align-items: center;
    gap: 4px;
}
.sidebar-cat-link {
    flex: 1;
    display: block;
    padding: 10px 16px;
    color: inherit;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.4;
    transition: color 0.15s;
}
.sidebar-cat-link:hover,
.sidebar-cat-link.current {
    color: var(--ui-accent);
}
.sidebar-cat-link.current {
    font-weight: 600;
}
.sidebar-cat-toggle {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin-right: 6px;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    transition: opacity 0.15s;
    border-radius: var(--ui_radius_mini);
}
.sidebar-cat-toggle:hover {
    opacity: 1;
}
.sidebar-cat-toggle svg {
    transition: transform 0.2s ease;
}
.sidebar-cat-item.is-open > .sidebar-cat-row .sidebar-cat-toggle svg {
    transform: rotate(180deg);
}
.sidebar-subcat-list {
    background: var(--ui-bg-subtle, #f9fafb);
    border-top: 1px solid var(--ui-border, #e5e7eb);
    padding: 4px 0;
}
.sidebar-subcat-item {
    margin: 0;
}
.sidebar-subcat-link {
    display: block;
    padding: 7px 16px 7px 28px;
    font-size: 13px;
    color: inherit;
    text-decoration: none;
    transition: color 0.15s;
}
.sidebar-subcat-link:hover,
.sidebar-subcat-link.current {
    color: var(--ui-accent);
}
.sidebar-subcat-link.current {
    font-weight: 600;
}

.woocommerce .woocommerce-ordering select {
    cursor: pointer;
    border-radius: var(--ui_radius_mini, 10px);
    appearance: none;
    padding-right: 32px;
    transition: background-color 0.2s;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23fff'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E");
    background-position: right 0.75rem center;
    background-repeat: no-repeat;
    background-size: 24px;
    color: #ffffff;
    background-color: #55555e;
    padding: 5px 15px;
}
.woocommerce .woocommerce-ordering select:hover {
    background-color: var(--ui-accent);
    color: var(--ui_white);
}
.active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}
.active-filter-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 12px;
    border-radius: 20px;
    background: color-mix(in srgb, var(--ui-accent) 12%, transparent);
    border: 1px solid var(--ui-accent);
    color: var(--ui-accent);
    font-size: 13px;
    line-height: 1.4;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}
.active-filter-tag:hover {
    background: var(--ui-accent);
    color: #fff;
}
.active-filter-tag__label {
    font-weight: 600;
}
.active-filter-tag__value {
    font-weight: 400;
}
.active-filter-tag__close {
    font-size: 16px;
    line-height: 1;
    margin-left: 2px;
    opacity: 0.7;
}
.active-filter-tag:hover .active-filter-tag__close {
    opacity: 1;
}
.page-title__paged {
    font-weight: 400;
    opacity: 0.55;
}

@media (max-width: 1024px) {
    h1.woocommerce-products-header__title,
    .woocommerce div.product .product_title {
        font-size: 32px;
    }
    .right-sidebar-toggle {
        display: block;
        padding: 3px 15px;
        border-radius: var(--ui_radius_mini, 10px);
    }
    .widget-area .widget {
        padding: 0px;
    }
}
@media (max-width: 768px) {
    h1.woocommerce-products-header__title,
    .woocommerce div.product .product_title {
        font-size: 28px;
    }
    .container .site-content .content-area {
        width: 100%;
    }
    .woocommerce .woocommerce-ordering select {
        font-size: 14px;
    }
}
@media (max-width: 560px) {
    h1.woocommerce-products-header__title,
    .woocommerce div.product .product_title {
        font-size: 24px;
    }
}
.separate-containers .inside-right-sidebar {
    background-color: var(--base-3);
}

.footer-widgets .widget {
    text-align: left;
}
.footer-bar-active .footer-bar {
    margin: 0px;
}
.footer-bar-active .inside-site-info {
    flex-direction: row;
}
@media (max-width: 1024px) {
    .site-footer .footer-widgets-container .inside-footer-widgets {
        flex-wrap: wrap;
    }
    .site-footer .footer-widgets-container .inside-footer-widgets > div {
        flex: auto;
        width: 50%;
        margin-bottom: 20px;
    }
}
@media (max-width: 768px) {
    .inside-footer-widgets {
        max-width: 400px;
        margin: 0 auto !important;
    }
    .inside-footer-widgets > div {
        width: 100%;
    }
    .footer-bar-active .inside-site-info {
        flex-direction: row-reverse;
        justify-content: space-between;
    }
}

.container-pages-wrapper {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start;
    gap: 20px;
}
.container-pages {
    width: calc(25% - 20px);
}
@media (max-width: 1200px) {
    .container-pages {
        width: calc(33% - 20px);
    }
}
@media (max-width: 1000px) {
    .container-pages {
        width: calc(50% - 20px);
    }
}
@media (max-width: 600px) {
    .container-pages {
        width: 100%;
    }
}
.container-pages-card {
    font-size: 16px;
    color: var(--ui_white);
    display: block;
    position: relative;
    background: linear-gradient(135deg, var(--ui-accent) 0%, var(--ui-accent-2) 100%);
    border-radius: 20px;
    padding: 10px 50px 10px 30px;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 10px 30px rgba(102, 126, 234, 0.2);
}
.container-pages-card::after {
    content: "→";
    position: absolute;
    top: -5px;
    right: 30px;
    font-size: 32px;
    font-weight: 300;
    opacity: 0.7;
    transform: translateX(10px);
    transition: all 0.3s ease;
    z-index: 2;
}
.container-pages-card:hover {
    color: var(--ui_white);
    text-decoration: none;
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 20px 40px var(--ui-accent-shadow-2);
}
.container-pages-card:hover::after {
    transform: translateX(20px);
    opacity: 1;
}
.container-pages-card:active {
    transform: translateY(-5px) scale(1.01);
    transition: all 0.1s ease;
}
.container-pages--has-subcats .container-pages-card {
    border-radius: 12px 12px 0 0;
    box-shadow: none;
}
.container-pages-subcats {
    list-style: none;
    margin: 0;
    padding: 8px 12px 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
    background: rgba(0,0,0,0.04);
    border-radius: 0 0 12px 12px;
    border: 1px solid rgba(0,0,0,0.06);
    border-top: none;
}
.container-pages-subcats li {
    margin: 0;
    padding: 0;
    line-height: 1;
}
.container-pages-subcats li a {
    font-size: 12px;
    color: var(--ui-accent, #2563eb);
    text-decoration: none;
    padding: 3px 8px;
    border-radius: 20px;
    background: rgba(var(--ui-accent-rgb, 37,99,235), 0.07);
    display: inline-block;
    transition: background 0.15s, color 0.15s;
    white-space: nowrap;
}
.container-pages-subcats li a:hover {
    background: var(--ui-accent, #2563eb);
    color: #fff;
}
.documents-list {
    display: flex;
    list-style: none;
    margin: 0px;
}
.documents-list > li {
    width: fit-content;
}
.product-documents-section {
    margin: 2.5rem 0;
    padding: 1.5rem;
    background: #f8f9fa;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
}
.documents-title {
    font-size: 1.4rem;
    margin: 0 0 1.2rem;
    color: #1e293b;
    font-weight: 600;
}
.documents-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.document-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 18px;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    text-decoration: none;
    color: #334155;
    transition: all 0.25s ease;
}
.document-item:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}
.document-icon {
    font-size: 2.2rem;
    color: #64748b;
    width: 50px;
    text-align: center;
    flex-shrink: 0;
}
.document-icon .fa-file-pdf   { color: var(--ui-accent); }
.document-icon .fa-file-word  { color: var(--ui-accent); }
.document-icon .fa-file-excel { color: var(--ui-accent); }
.document-icon .fa-file-archive { color: var(--ui-accent); }
.document-icon .fa-file-image { color: var(--ui-accent); }
.document-info {
    flex: 1;
}
.document-name {
    font-weight: 500;
    color: #1e40af;
    margin-bottom: 4px;
}
.document-meta {
    font-size: 0.875rem;
    color: #64748b;
}
.document-download {
    font-size: 1.3rem;
    color: #6b7280;
    opacity: 0.7;
    transition: opacity 0.2s;
}
.document-item:hover .document-download {
    opacity: 1;
    color: #3b82f6;
}
@media (max-width: 640px) {
    .document-item {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
    .document-icon {
        font-size: 2.8rem;
    }
    .document-download {
        margin-top: 8px;
    }
}
.category .templateX-section:first-child,
.single .templateX-section:first-child {
    padding: 0px;
}
.wpc-checkbox-item input[type="checkbox"],
.openfos__agreement input[type="checkbox"] {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid #ccc;
    border-radius: 6px;
    background: var(--ui_white);
    margin-right: 0;
    flex-shrink: 0;
    transition: all 0.2s ease;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    cursor: pointer;
}

.wpcf7-acceptance label {
    display: flex;
    flex-direction: row !important;
}
.wpcf7-acceptance label .wpcf7-list-item-label {
    padding: 0px;
    background: none;
    font-size: 14px;
    color: #000;
}
.wpcf7-acceptance label input {
    width: 20px !important;
    height: 20px !important;
    margin-right: 10px !important;
    cursor: pointer;
}
.wpcf7-acceptance label a {
    color: #000;
    text-decoration: underline;
}
.quick-order-modal-content .button {
    width: 100%;
    text-align: center;
    background: var(--ui-accent);
    color: var(--ui_white);
    height: 50px;
}
.checkout label {
    flex-direction: row !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    background-color: var(--ui-accent-2) !important;
}
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
    margin-top: 20px;
    background-color: var(--ui-accent-2) !important;
    text-align: center;
    margin-bottom: 1em;
    font-size: 1.25em;
    padding: 1em;
    float: left;
}
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
    width: 100%;
    float: left;
}
.total-price-container {
    display: none;
    font-weight: normal;
    font-size: 18px;
    margin-top: 10px;
}
.xoo-wsc-basket:hover {
    color: var(--ui-accent);
}
.site-branding {
    display: flex;
    align-items: center;
    gap: 10px;
}
.site-branding_text {
    display: flex;
    flex-direction: column;
    gap: 5px;
    line-height: 1;
    max-width: 200px;
}
.site-branding_name {
    font-size: 16px;
    font-weight: bold;
}
.site-branding_desc {
    font-size: 14px;
    max-width: 220px;
}
.custom-logo-link {
    display: flex;
}

.cycle-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    position: relative;
}
.cycle-step {
    text-align: center;
    position: relative;
    z-index: 1;
}
.cycle-step__icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--ui-accent);
    transition: all 0.3s ease;
    background: var(--ui-accent);
}
.cycle-step__icon img,
.cycle-step__icon svg {
    width: 50px;
    height: 50px;
    fill: #fff;
}
.cycle-step::after {
    content: "";
    position: absolute;
    top: 41px;
    right: -22px;
    width: 50px;
    height: 2px;
    background: var(--ui-accent);
    z-index: -1;
}
.cycle-step::before {
    content: "";
    position: absolute;
    top: 38px;
    right: -22px;
    width: 8px;
    height: 8px;
    border-top: 2px solid var(--ui-accent);
    border-right: 2px solid var(--ui-accent);
    transform: rotate(45deg);
    z-index: -1;
}
.cycle-step:last-child::after,
.cycle-step:last-child::before {
    display: none;
}
@media (max-width: 1024px) {
    .cycle-steps {
        grid-template-columns: repeat(2, 1fr);
        gap: 50px 30px;
    }
    .cycle-step:nth-child(2n)::after,
    .cycle-step:nth-child(2n)::before,
    .cycle-step:nth-child(2n)::after,
    .cycle-step:nth-child(2n)::before {
        display: none;
    }
}
@media (max-width: 560px) {
    .cycle-steps {
        grid-template-columns: 1fr;
    }
    .cycle-step::after,
    .cycle-step::before {
        display: none;
    }
}
.site-header {
    padding: 0px;
}
.main-menu .sub-menu {
    list-style: none;
    margin: 0px;
}
.main-menu a {
    padding: 10px 10px;
}
.menu-item.xoo-wsc-menu-item {
    flex: 1;
    display: flex;
    justify-content: flex-end;
}
.menu-item.xoo-wsc-menu-item .xoo-wsc-sc-cont {
    margin-left: auto;
    border-radius: 10px;
    padding: 5px 10px;
    color: #fff;
    background: var(--ui-accent);
    height: 40px;
}
.menu-item.xoo-wsc-menu-item .xoo-wsc-sc-cont:hover {
    background: var(--ui-accent-2);
}
.menu-item.xoo-wsc-menu-item .xoo-wsc-sc-cont .xoo-wsc-icon-bag1:before {
    color: #fff;
}
.menu-item.xoo-wsc-menu-item span.xoo-wsc-sc-count {
    background-color: #fff;
    color: #000;
}
@media (max-width: 768px) {
    .menu-item.xoo-wsc-menu-item {
        justify-content: flex-start;
        padding: 0px;
    }
    .main-navigation .main-nav > ul > li > a {
        line-height: 40px !important;
    }
    .menu-item.xoo-wsc-menu-item .xoo-wsc-sc-cont {
        width: 100%;
    }
}
.site-branding .custom-logo-link {
}
.ab-header{ width: 100%; }
#masthead { background: radial-gradient(1200px 260px at 50% 0%, #e9f1ff 0%, #ffffff 55%, #ffffff 100%); }
.ab-container{ margin: 0 auto; padding: 0 18px; }
.ab-main{ padding: 10px 0; }
.ab-main__inner{
    background: #fff;
    border: 1px solid #e6edf6;
    border-radius: var(--ui_radius, 18px);
    box-shadow: 0 16px 40px rgba(16, 24, 40, .12);
    padding: 10px 10px;
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
    gap: 5px;
}
.ab-offer {
    display: flex;
    align-items: center;
}
.ab-brand{ display:flex; align-items:center; gap:12px; text-decoration:none; color: #0f1b2d; }
.ab-brand__name{ font-size: 16px; font-weight: bold; letter-spacing: .2px; }
.ab-actions{ display:flex; flex-direction:column; align-items:flex-end; }
.ab-messengers{ display:flex; align-items:center; gap:10px; justify-content:flex-end; }
.ab-cta{ display:flex; gap:10px; justify-content:flex-end; }
.ab-btn--primary{
    background: var(--ui-accent);
    color: #fff;
    box-shadow: 0 14px 24px rgba(0,0,0,.20);
    font-size: 12px;
    padding: 10px;
    text-wrap-mode: nowrap;
    height: 40px;
}
.ab-btn--primary:hover{ filter: brightness(.98); transform: translateY(-1px); }
.ab-btn--ghost{
    background: var(--ui-title-muted);
    border-color: #e6edf6;
    color: #fff;
    font-size: 12px;
    padding: 10px;
    text-wrap-mode: nowrap;
    height: 40px;
}
.ab-btn--ghost:hover{ border-color: rgba(31,111,235,.25); color: #fff; }
.ab-benefits__inner{
    display:flex; flex-wrap:wrap;
    color: #3c3c3c;
    align-items:center;
}
.ab-benefit{
    display:flex;
    align-items:center;
    gap:5px;
    font-weight: 700;
    width: calc(50% - 5px);
    font-size: 15px;
    text-wrap-mode: nowrap;
}
.ab-check{
    color: #2fa66a;
    font-weight: 900;
}
.ab-nav{ padding: 0 0 10px; }
.ab-nav__inner{
    display:flex; flex-wrap:wrap; gap: 20px;
    align-items:center;
    background: rgba(255,255,255,.85);
    border: 1px solid #e6edf6;
    border-radius: 16px;
    backdrop-filter: blur(6px);
    width: 100%;
}
@media (max-width: 1100px){
    .ab-benefit {
        width: 100%;
        line-height: 1;
    }
}
@media (max-width: 850px) {
    .ab-offer {
        display: none;
    }
    .ab-messengers {
        display: none;
    }
    .ab-btn--ghost {
        display: none;
    }
}
@media (max-width: 600px) {
    .site-branding .site-branding_text {
        display: none;
    }
    .site-footer .footer-widgets-container .inside-footer-widgets > div {
        width: 100%;
    }
}
span.xoo-wsc-smr-del+.xoo-wsc-smr-ptotal {
    text-wrap-mode: nowrap;
}

.search-header .search-query { color: var(--accent, #e63946); }
.search-meta { font-size: 16px; color: #666; margin: 8px 0 20px; }
.search-form-wrapper {
    margin: 24px 0 0;
    max-width: 680px;
}
.search-form-wrapper .search-form {
    display: flex;
    align-items: center;
    gap: 0;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07);
    overflow: hidden;
    transition: box-shadow 0.2s, border-color 0.2s;
}
.search-form-wrapper .search-form:focus-within {
    border-color: var(--ui-accent, #e63946);
    box-shadow: 0 2px 16px rgba(0,0,0,0.12);
}
.search-form-wrapper .search-field {
    flex: 1;
    padding: 14px 18px;
    border: none;
    outline: none;
    font-size: 16px;
    font-family: inherit;
    background: transparent;
    color: #111;
    -webkit-appearance: none;
    appearance: none;
}
.search-form-wrapper .search-field::-webkit-search-cancel-button { display: none; }
.search-form-wrapper .search-field::placeholder { color: #aaa; }
.search-form-wrapper .search-submit {
    flex-shrink: 0;
    padding: 12px 28px;
    background: var(--ui-accent, #e63946);
    color: #fff;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: opacity 0.2s;
    white-space: nowrap;
    font-size: 18px;
}
.search-form-wrapper .search-submit:hover { opacity: 0.85; }
.search-no-results { padding: 40px 0; color: #555; font-size: 16px; }
.search-section { margin: 40px 0; }
.search-section-title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 24px;
    padding-bottom: 10px;
    border-bottom: 2px solid #f0f0f0;
}
.cart-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
    gap: 12px;
}
.cart-empty-state svg {
    color: var(--ui-text-muted, #9ca3af);
    margin-bottom: 8px;
}
.cart-empty-state h2 {
    font-size: 22px;
    margin: 0;
}
.cart-empty-state p {
    color: var(--ui-text-muted, #6b7280);
    margin: 0;
}
.cart-empty-state .button {
    margin-top: 8px;
}

.cart-page-title {
    font-size: 28px;
    margin: 0 0 24px;
}

.cart-page-layout {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 24px;
    align-items: start;
}
@media (max-width: 960px) {
    .cart-page-layout {
        grid-template-columns: 1fr;
    }
}

.cart-items-section {
    background: #fff;
    border: 1px solid var(--ui-border-color, #e5e7eb);
    border-radius: var(--ui_radius_mini,12px);
    overflow: hidden;
}
.cart-items-list {
    padding: 0 20px;
}

.cart-item {
    display: grid;
    grid-template-columns: 80px 1fr auto auto auto;
    gap: 14px;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid var(--ui-border-color, #f3f4f6);
}
.cart-item:last-child {
    border-bottom: none;
}

.cart-item__img img {
    width: 80px;
    height: 80px;
    object-fit: contain;
    border-radius: 8px;
    display: block;
    border: 1px solid var(--ui-border-color, #f3f4f6);
}

.cart-item__details {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}
.cart-item__name {
    font-weight: 600;
    font-size: 14px;
    color: var(--ui-title, #111827);
    text-decoration: none;
    line-height: 1.4;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}
.cart-item__name:hover {
    color: var(--ui-accent);
}
.cart-item__sku {
    font-size: 12px;
    color: var(--ui-text-muted, #9ca3af);
}
.cart-item__unit-price {
    font-size: 13px;
    color: var(--ui-text-muted, #6b7280);
}

.cart-item__qty {
    display: flex;
    align-items: center;
    gap: 4px;
}
.cart-item__qty .minus,
.cart-item__qty .plus {
    width: 32px;
    height: 32px;
    border: none;
    background: var(--ui-accent);
    color: #fff;
    cursor: pointer;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--ui_radius_mini);
    line-height: 1;
    transition: background .15s;
    flex-shrink: 0;
    user-select: none;
    -webkit-user-select: none;
}
.cart-item__qty .minus:hover,
.cart-item__qty .plus:hover {
    background: var(--ui-accent-2);
}
.cart-item__qty .minus:disabled,
.cart-item__qty .plus:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}
.cart-item__qty .qty {
    width: 44px;
    height: 32px;
    text-align: center;
    border: 1px solid var(--ui-border-color, #e5e7eb);
    border-radius: 6px;
    font-size: 14px;
    padding: 0;
}

.cart-clear-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--ui-muted, #6b7280);
    background: none;
    border: 1px solid #e5e7eb;
    border-radius: var(--ui_radius_mini,6px);
    padding: 5px 12px;
    height: 32px;
    cursor: pointer;
    transition: color .15s, border-color .15s, background .15s;
}
.cart-clear-btn:hover {
    color: #ef4444;
    border-color: #ef4444;
    background: #fef2f2;
}
.cart-clear-btn svg {
    flex-shrink: 0;
}

.cart-item__line-total {
    font-weight: 700;
    font-size: 15px;
    white-space: nowrap;
    min-width: 80px;
    text-align: right;
}

.cart-item__remove {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--ui-text-muted, #9ca3af);
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    transition: color .15s, background .15s;
    flex-shrink: 0;
}
.cart-item__remove:hover {
    color: #ef4444;
    background: #fef2f2;
}

.cart-totals-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-top: 2px solid var(--ui-border-color, #e5e7eb);
    background: #fafafa;
    flex-wrap: wrap;
    gap: 12px;
}
.cart-totals-left {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.cart-continue-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--ui-text-muted, #6b7280);
    text-decoration: none;
    transition: color .15s;
}
.cart-continue-link:hover {
    color: var(--ui-accent);
}
.cart-totals-right {
    display: flex;
    align-items: center;
    gap: 10px;
}
.cart-totals-label {
    font-size: 15px;
    color: var(--ui-text-muted, #6b7280);
}
.cart-totals-amount {
    font-size: 24px;
    font-weight: 700;
    color: var(--ui-accent);
}

.cart-form-section {
    background: #fff;
    border: 1px solid var(--ui-border-color, #e5e7eb);
    border-radius: var(--ui_radius_mini,12px);
    padding: 24px;
    position: sticky;
    top: 90px;
}
.cart-form-heading {
    font-size: 20px;
    margin: 0 0 20px;
}

.cart-form-section .wpcf7 textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--ui-border-color, #e5e7eb);
    padding: 10px 14px;
    font-size: 14px;
    font-family: inherit;
    line-height: 1.5;
    color: var(--ui-title, #111827);
    background: #fff;
    resize: vertical;
    transition: border-color .2s;
    min-height: 80px;
    margin-top: 10px;
    border-radius: var(--ui_radius,12px);
}
.cart-form-section input.wpcf7-submit {
    margin-top: 10px;
}
.cart-form-section .wpcf7 textarea:focus {
    outline: none;
    border-color: var(--ui-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--ui-accent) 15%, transparent);
}

@media (max-width: 600px) {
    .cart-item {
        grid-template-columns: 64px 1fr auto;
        grid-template-rows: auto auto;
        gap: 10px;
    }
    .cart-item__img {
        grid-row: span 2;
    }
    .cart-item__img img {
        width: 64px;
        height: 64px;
    }
    .cart-item__line-total {
        grid-column: 3;
        grid-row: 1;
        align-self: start;
    }
    .cart-item__qty {
        grid-column: 2;
        grid-row: 2;
    }
    .cart-item__remove {
        grid-column: 3;
        grid-row: 2;
        align-self: end;
    }
    .cart-page-title {
        font-size: 22px;
    }
    .cart-form-section {
        position: static;
    }
}

.ty-page {
    max-width: 680px;
    margin: 40px auto 80px;
}

.ty-hero {
    background: linear-gradient(135deg, var(--ui-accent) 0%, var(--ui-accent-2) 100%);
    color: #fff;
    border-radius: 20px 20px 0 0;
    padding: 44px 40px 36px;
    text-align: center;
}
.ty-hero__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 88px;
    height: 88px;
    background: rgba(255,255,255,.15);
    border-radius: 50%;
    margin-bottom: 20px;
}
.ty-icon__circle {
    animation: ty-circle .55s cubic-bezier(.65,0,.45,1) forwards;
}
.ty-icon__check {
    animation: ty-check .35s .5s cubic-bezier(.65,0,.45,1) forwards;
}
@keyframes ty-circle { to { stroke-dashoffset: 0; } }
@keyframes ty-check  { to { stroke-dashoffset: 0; } }

.ty-hero__title {
    font-size: 30px;
    font-weight: 700;
    margin: 0 0 10px;
    line-height: 1.2;
    color: #fff;
}
.ty-hero__sub {
    font-size: 15px;
    opacity: .88;
    margin: 0;
    line-height: 1.6;
    color: #fff;
}

.ty-body {
    background: #fff;
    border: 1px solid #e9ecef;
    border-top: none;
    border-radius: 0 0 20px 20px;
    padding: 32px 36px 36px;
    box-shadow: 0 8px 32px rgba(0,0,0,.06);
}

.ty-order {
    background: #f8f9fb;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    padding: 20px 24px;
    margin-bottom: 28px;
}
.ty-order__head {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--ui-title-muted, #474747);
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e5e7eb;
    letter-spacing: .3px;
}
.ty-order__head svg {
    color: var(--ui-accent);
    flex-shrink: 0;
}

.ty-order__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px dashed #e5e7eb;
    font-size: 14px;
}
.ty-meta__name {
    font-weight: 600;
    color: var(--ui-title-muted, #474747);
}
.ty-meta__phone {
    color: var(--ui-title-muted, #474747);
}
.ty-meta__date {
    color: var(--ui-muted, #9ca3af);
    margin-left: auto;
    font-size: 13px;
}

.ty-order__lines {
    list-style: none;
    margin: 0 0 8px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.ty-order__lines li {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 8px;
    align-items: baseline;
    font-size: 14px;
    padding: 8px 0;
    border-bottom: 1px dashed #e5e7eb;
}
.ty-order__lines li:last-child {
    border-bottom: none;
}
.ty-line__name {
    color: var(--ui-title-muted, #474747);
    font-weight: 500;
    min-width: 0;
    word-break: break-word;
}
.ty-line__qty {
    color: var(--ui-muted, #9ca3af);
    white-space: nowrap;
    font-size: 13px;
}
.ty-line__price {
    font-weight: 600;
    color: var(--ui-title-muted, #474747);
    white-space: nowrap;
    text-align: right;
}

.ty-order__total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 12px;
    margin-top: 4px;
    border-top: 2px solid #e5e7eb;
    font-size: 15px;
    font-weight: 600;
    color: var(--ui-title-muted, #474747);
}
.ty-order__total strong {
    font-size: 20px;
    color: var(--ui-accent);
}

.ty-order__note {
    margin-top: 12px;
    padding: 12px 14px;
    background: #fff;
    border-left: 3px solid var(--ui-accent);
    border-radius: 0 6px 6px 0;
    font-size: 13px;
    color: var(--ui-muted, #6b7280);
    line-height: 1.5;
    white-space: pre-wrap;
}

.ty-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}
.ty-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 12px 22px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    transition: background .2s, transform .15s, border-color .2s, color .2s;
    cursor: pointer;
    border: none;
}
.ty-btn--primary {
    background: var(--ui-accent);
    color: #fff !important;
}
.ty-btn--primary:hover {
    background: var(--ui-accent-2);
    transform: translateY(-1px);
    color: #fff !important;
}
.ty-btn--ghost {
    background: #f3f4f6;
    color: var(--ui-title-muted, #474747) !important;
}
.ty-btn--ghost:hover {
    background: #e9ecef;
    transform: translateY(-1px);
    color: var(--ui-title-muted, #474747) !important;
}
.ty-btn--outline {
    background: transparent;
    border: 1.5px solid #e5e7eb;
    color: var(--ui-title-muted, #474747) !important;
}
.ty-btn--outline:hover {
    border-color: var(--ui-accent);
    color: var(--ui-accent) !important;
    transform: translateY(-1px);
}

@media (max-width: 600px) {
    .ty-page {
        margin: 20px auto 60px;
    }
    .ty-hero {
        padding: 32px 20px 28px;
        border-radius: 14px 14px 0 0;
    }
    .ty-hero__title {
        font-size: 24px;
    }
    .ty-body {
        padding: 24px 18px 28px;
        border-radius: 0 0 14px 14px;
    }
    .ty-order {
        padding: 16px;
    }
    .ty-order__lines li {
        grid-template-columns: 1fr auto;
        grid-template-rows: auto auto;
    }
    .ty-line__qty {
        grid-column: 2;
        grid-row: 1;
    }
    .ty-line__price {
        grid-column: 1 / -1;
        text-align: left;
        font-size: 13px;
    }
    .ty-meta__date {
        margin-left: 0;
        width: 100%;
    }
    .ty-actions {
        flex-direction: column;
        align-items: stretch;
    }
    .ty-btn {
        justify-content: center;
    }
}

.product-badges {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    pointer-events: none;
}
.product-badge {
    display: inline-block;
    padding: 3px 9px;
    border-radius: var(--ui_radius_mini, 4px);
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.03em;
    line-height: 1.4;
    white-space: nowrap;
    text-transform: uppercase;
}

.product-badge--discount_pct {
    font-size: 13px;
    padding: 4px 10px;
    letter-spacing: 0;
}

.product-image {
    position: relative;
}
.product-image a {
    display: block;
    overflow: hidden;
}
.product-image .primary-img,
.product-image .hover-img {
    display: block;
    width: 100%;
    height: auto;
    transition: opacity 0.6s ease-in-out;
}
.product-image .hover-img {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}
.product-image a.has-hover-img:hover .primary-img {
    opacity: 0;
}
.product-image a.has-hover-img:hover .hover-img {
    opacity: 1;
}
.product-img-indicators {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 4px;
    z-index: 2;
}
.product-img-indicator {
    display: block;
    width: 18px;
    height: 4px;
    border-radius: 2px;
    background: rgba(125, 125, 125, 0.5);
    transition: background 0.3s ease-in-out;
}
.product-img-indicator--active {
    background: var(--ui-accent);
    opacity: 0.95;
}
.product-image a:hover .product-img-indicator--active {
    background: rgba(125, 125, 125, 0.5);
}
.product-image a:hover .product-img-indicator:not(.product-img-indicator--active) {
    background: var(--ui-accent);
    opacity: 0.95;
}
.product-image a.has-hover-img { touch-action: pan-y; }
@media (hover: none) {
    .product-image a.has-hover-img:hover .primary-img { opacity: 1; }
    .product-image a.has-hover-img:hover .hover-img   { opacity: 0; }
    .product-image a:hover .product-img-indicator--active                             { background: rgba(255,255,255,0.95); }
    .product-image a:hover .product-img-indicator:not(.product-img-indicator--active) { background: rgba(255,255,255,0.5); }
}
.product-image a.has-hover-img.is-swiped .primary-img { opacity: 0; }
.product-image a.has-hover-img.is-swiped .hover-img   { opacity: 1; }
.product-image a.has-hover-img.is-swiped .product-img-indicator--active                             { background: rgba(255,255,255,0.5); }
.product-image a.has-hover-img.is-swiped .product-img-indicator:not(.product-img-indicator--active) { background: rgba(255,255,255,0.95); }
.wpx-wishlist-btn {
    position: absolute;
    top: 48px;
    right: 8px;
    z-index: 2;
    width: 32px;
    height: 32px;
    border-radius: var(--ui_radius_mini, 6px);
    border: none;
    background: rgba(255,255,255,0.92);
    box-shadow: 0 1px 4px rgba(0,0,0,0.12);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #888;
    transition: background 0.2s, color 0.2s, box-shadow 0.2s;
    padding: 0;
}
.wpx-wishlist-btn svg {
    width: 16px;
    height: 16px;
    transition: fill 0.2s, stroke 0.2s;
}
.wpx-wishlist-btn:hover {
    background: #fff;
    color: #e53935;
    box-shadow: 0 2px 8px rgba(0,0,0,0.18);
}
.wpx-wishlist-btn.is-wishlisted {
    background: #e53935;
    color: #fff;
    box-shadow: 0 2px 8px rgba(229,57,53,0.35);
}
.wpx-wishlist-btn.is-wishlisted svg {
    fill: currentColor;
    stroke: currentColor;
}

.wpx-wishlist-count {
    display: none;
    position: absolute;
    top: -6px;
    right: -6px;
    background: #e53935;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    min-width: 16px;
    height: 16px;
    border-radius: 8px;
    padding: 0 3px;
    text-align: center;
    align-items: center;
    justify-content: center;
}

.wpx-viewed-products {
    padding: 40px 0;
}
.wpx-block-title {
    margin: 0 0 24px;
}
.wpx-products-wrap ul.products {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.wpx-products-wrap ul.products li.product {
    width: calc(25% - 20px);
    margin: 0;
    border-radius: var(--ui_radius, 12px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
    display: flex;
    flex-direction: column;
}
.wpx-products-wrap ul.products li.product .custom-product-card {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.wpx-products-wrap ul.products li.product .product-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.wpx-products-wrap ul.products li.product .product-price-block {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.wpx-products-wrap ul.products li.product .product-add-to-cart {
    margin-top: 0;
}
.wpx-products-wrap ul.products li.product .product-add-to-cart .button {
    width: 100%;
    height: auto;
    padding: 12px 8px;
    border-radius: var(--ui_radius, 8px);
    margin-top: 8px;
}
.wpx-products-wrap ul.products li.product .product-add-to-cart--split {
    display: flex;
    gap: 8px;
}
.wpx-products-wrap ul.products li.product .product-add-to-cart--split .button {
    flex: 1 1 0;
    min-width: 0;
}
.wpx-products-wrap ul.products li.product .product-add-to-cart--split .buy-one-click-btn {
    flex: 1 1 0;
    min-width: 0;
    background-color: #fff !important;
    border: 2px solid var(--ui-accent) !important;
    color: var(--ui-accent) !important;
    border-radius: var(--ui_radius, 8px) !important;
}
.wpx-products-wrap ul.products li.product .product-add-to-cart--split .buy-one-click-btn:hover {
    background-color: var(--ui-accent) !important;
    color: #fff !important;
}
.wpx-viewed-splide,
.wpx-related-splide {
    padding-bottom: 8px;
}
.wpx-viewed-splide .splide__slide,
.wpx-related-splide .splide__slide {
    box-sizing: border-box;
    height: auto;
}
.wpx-viewed-splide .splide__slide li.product,
.wpx-related-splide .splide__slide li.product {
    width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box;
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
    display: flex;
    flex-direction: column;
    height: 100%;
}
.wpx-viewed-splide .splide__slide li.product a img,
.wpx-related-splide .splide__slide li.product a img {
    border-radius: 12px 12px 0 0;
    margin: 0 0 1em;
}
.wpx-viewed-splide .splide__slide li.product .custom-product-card,
.wpx-related-splide .splide__slide li.product .custom-product-card {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.wpx-viewed-splide .splide__slide li.product .product-info,
.wpx-related-splide .splide__slide li.product .product-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.wpx-viewed-splide .splide__slide li.product .product-price-block,
.wpx-related-splide .splide__slide li.product .product-price-block {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.wpx-viewed-splide .splide__slide li.product .woocommerce-loop-product__title,
.wpx-related-splide .splide__slide li.product .woocommerce-loop-product__title {
    padding: 0;
    line-height: 1;
}
.wpx-viewed-splide .splide__slide li.product .woocommerce-loop-product__title a,
.wpx-related-splide .splide__slide li.product .woocommerce-loop-product__title a {
    color: var(--ui-title-muted);
}
.wpx-viewed-splide .splide__slide li.product .woocommerce-loop-product__title a:hover,
.wpx-related-splide .splide__slide li.product .woocommerce-loop-product__title a:hover {
    color: #000;
    text-decoration: none;
}
.wpx-viewed-splide .splide__slide .product-add-to-cart,
.wpx-related-splide .splide__slide .product-add-to-cart {
    margin-top: 0;
}
.wpx-viewed-splide .splide__slide .product-add-to-cart .button,
.wpx-related-splide .splide__slide .product-add-to-cart .button {
    width: 100%;
    height: auto;
    background: var(--ui-accent);
    color: #fff;
    padding: 12px 8px;
    border-radius: var(--ui_radius);
    text-align: center;
    margin-top: 8px;
    line-height: 1;
}
.wpx-viewed-splide .splide__slide .product-add-to-cart .button:hover,
.wpx-related-splide .splide__slide .product-add-to-cart .button:hover {
    background: var(--ui-accent-2);
}
.wpx-viewed-splide .splide__slide .product-add-to-cart--split,
.wpx-related-splide .splide__slide .product-add-to-cart--split {
    display: flex;
    gap: 8px;
}
.wpx-viewed-splide .splide__slide .product-add-to-cart--split .button,
.wpx-related-splide .splide__slide .product-add-to-cart--split .button {
    flex: 1 1 0;
    min-width: 0;
    padding-left: 4px;
    padding-right: 4px;
    border-radius: var(--ui_radius);
}
.wpx-viewed-splide .splide__slide .product-add-to-cart--split .buy-one-click-btn,
.wpx-related-splide .splide__slide .product-add-to-cart--split .buy-one-click-btn {
    background-color: #fff !important;
    border: 2px solid var(--ui-accent) !important;
    color: var(--ui-accent) !important;
    border-radius: var(--ui_radius, 8px) !important;
}
.wpx-viewed-splide .splide__slide .product-add-to-cart--split .buy-one-click-btn:hover,
.wpx-related-splide .splide__slide .product-add-to-cart--split .buy-one-click-btn:hover {
    background-color: var(--ui-accent) !important;
    color: #fff !important;
}
.wpx-viewed-splide .splide__slide li.product .product-price,
.wpx-related-splide .splide__slide li.product .product-price {
    font-size: 16px;
    width: auto;
}
.wpx-viewed-splide .splide__slide li.product .product-price .price,
.wpx-related-splide .splide__slide li.product .product-price .price {
    font-size: 20px;
}
.wpx-viewed-splide .splide__slide li.product .product-attributes,
.wpx-related-splide .splide__slide li.product .product-attributes {
    font-size: 13px;
}
/* Related static grid (≤4 items) */
.wpx-related-list li.product {
    width: calc(25% - 15px) !important;
}
@media (max-width: 1024px) {
    .wpx-products-wrap ul.products li.product { width: calc(33.333% - 14px); }
}
@media (max-width: 768px) {
    .wpx-products-wrap ul.products li.product { width: calc(50% - 10px); }
}
@media (max-width: 480px) {
    .wpx-products-wrap ul.products li.product { width: 100%; }
}
.wpx-products-loading {
    display: flex;
    justify-content: center;
    padding: 32px 0;
}
.wpx-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid rgba(0,0,0,0.1);
    border-top-color: var(--ui-accent, #2ecc71);
    border-radius: 50%;
    animation: wpx-spin 0.7s linear infinite;
}
@keyframes wpx-spin {
    to { transform: rotate(360deg); }
}

.wpx-wishlist-empty {
    text-align: center;
    padding: 80px 20px;
    color: #888;
}
.wpx-wishlist-empty svg {
    display: block;
    margin: 0 auto 20px;
    color: #ccc;
}
.wpx-wishlist-empty p {
    font-size: 18px;
    margin-bottom: 24px;
}
.wpx-wishlist-empty .button {
    background: var(--ui-accent, #2ecc71);
    color: #fff;
    padding: 12px 28px;
    border-radius: var(--ui_radius, 6px) !important;
    text-decoration: none;
}
.page-template-page-wishlist #right-sidebar {
    display: none;
}
.wpx-wishlist-clear-btn {
    margin-top: 12px;
    margin-bottom: 32px;
    background: none;
    border: 1px solid var(--ui-accent, #2ecc71);
    border-radius: var(--ui_radius, 6px);
    padding: 8px 20px;
    font-size: 14px;
    font-weight: 500;
    color: var(--ui-accent, #2ecc71);
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    display: inline-block;
}
.wpx-wishlist-clear-btn:hover {
    background: var(--ui-accent, #2ecc71);
    color: #fff;
}

.compare-icon-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 2;
    width: 32px;
    height: 32px;
    border-radius: var(--ui_radius_mini, 6px);
    border: none;
    background: rgba(255,255,255,0.92);
    box-shadow: 0 1px 4px rgba(0,0,0,0.12);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #888;
    transition: background 0.2s, color 0.2s, box-shadow 0.2s;
    padding: 0;
}
.compare-icon-btn svg {
    width: 16px;
    height: 16px;
}
.compare-icon-btn:hover {
    background: #fff;
    color: var(--ui-accent, #2ecc71);
    box-shadow: 0 2px 8px rgba(0,0,0,0.18);
}
.compare-icon-btn.active {
    background: var(--ui-accent, #2ecc71);
    color: #fff;
    box-shadow: 0 2px 8px rgba(46,204,113,0.35);
}

.compare-icon-btn--single {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    position: static;
    width: 49%;
    height: auto;
    border-radius: var(--ui_radius, 6px);
    padding: 10px 18px;
    background: transparent;
    border: 1px solid #ddd;
    color: #555;
    font-size: 14px;
    font-family: inherit;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
    box-shadow: none;
}
.compare-icon-btn--single svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}
.compare-icon-btn--single:hover {
    border-color: var(--ui-accent, #2ecc71);
    color: var(--ui-accent, #2ecc71);
    background: transparent;
    box-shadow: none;
}
.compare-icon-btn--single.active {
    border-color: var(--ui-accent, #2ecc71);
    background: var(--ui-accent, #2ecc71);
    color: #fff;
    box-shadow: none;
}
.wpx-wishlist-btn--single {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    position: static;
    width: 49%;
    height: auto;
    border-radius: var(--ui_radius, 6px);
    padding: 10px 18px;
    background: transparent;
    border: 1px solid #ddd;
    color: #555;
    font-size: 14px;
    font-family: inherit;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
    box-shadow: none;
}
.wpx-wishlist-btn--single svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    transition: fill 0.2s, stroke 0.2s;
}
.wpx-wishlist-btn--single:hover {
    border-color: #e53935;
    color: #e53935;
    background: transparent;
    box-shadow: none;
}
.wpx-wishlist-btn--single.is-wishlisted {
    border-color: #e53935;
    background: #e53935;
    color: #fff;
    box-shadow: none;
}
.wpx-wishlist-btn--single.is-wishlisted svg {
    fill: currentColor;
    stroke: currentColor;
}
.compare-icon-btn__label { font-size: 14px; }
.wpx-wishlist-btn--compare {
    width: 100%;
    justify-content: center;
    margin-top: 10px;
}

#wpx-mini-cart-popup { display: none; }
.wpx-fancybox-mini-cart .fancybox__content {
    max-width: 720px;
    width: 95vw;
}
.wpx-mini-cart-content { padding: 0; }

.wpx-mini-cart-body {
    max-height: 45vh;
    overflow-y: auto;
}

.wpx-mini-cart-body .cart-item {
    padding: 12px 0;
    border-bottom: 1px solid var(--ui-border-color, #f0f0f0);
}

.wpx-mini-cart-body .cart-item:last-child { border-bottom: none; }

.wpx-mini-cart-body .cart-item__img img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: var(--ui_radius_mini);
}

.wpx-mini-cart-footer { margin-top: 4px; }

.wpx-mini-cart-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    font-size: 15px;
}

.wpx-mini-cart-total-val {
    font-size: 20px;
    font-weight: 700;
    color: var(--ui-accent);
}

.wpx-mini-cart-go-btn {
    display: block;
    width: 100%;
    text-align: center;
    padding: 13px 20px;
    border-radius: var(--ui_radius,10px) !important;
    font-size: 15px;
    font-weight: 600;
    background-color: var(--ui-accent) !important;
    border-color: var(--ui-accent) !important;
    color: var(--ui_white) !important;
}

.wpx-mini-cart-go-btn:hover {
    background-color: var(--ui-accent-2) !important;
    border-color: var(--ui-accent-2) !important;
    color: var(--ui_white) !important;
}

.wpx-mini-cart-continue-btn {
    display: block;
    width: 100%;
    text-align: center;
    padding: 13px 20px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    margin-top: 12px !important;
    border-radius: var(--ui_radius, 8px) !important;
}

.wpx-mini-cart-empty {
    text-align: center;
    padding: 20px 0 8px;
    color: var(--ui-title-muted, #888);
}

.wpx-mini-cart-empty p { margin-bottom: 16px; }

.wpx-menu-cart {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 5px 10px;
    border-radius: 8px;
    color: inherit;
    white-space: nowrap;
    transition: background .15s;
    flex-shrink: 0;
}

.wpx-menu-cart:hover { background: rgba(0,0,0,.05); }

.wpx-menu-cart__total {
    font-weight: 600;
    font-size: 14px;
}

.wpx-menu-cart__icon-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wpx-menu-cart__count {
    position: absolute;
    top: -7px;
    right: -9px;
    background: var(--ui-accent);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    min-width: 17px;
    height: 17px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
    line-height: 1;
}

@media (max-width: 768px) {
    .wpx-menu-cart__total { display: none; }
}

.wpx-floating-basket {
    position: fixed;
    right: 24px;
    bottom: 70px;
    width: 52px;
    height: 52px;
    background: var(--ui-accent);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 8900;
    box-shadow: 0 4px 16px rgba(0,0,0,.28);
    opacity: 0;
    transform: scale(0.7);
    pointer-events: none;
    transition: opacity .2s, transform .2s;
}

.wpx-floating-basket.is-visible {
    opacity: 1;
    transform: scale(1);
    pointer-events: auto;
}

.wpx-floating-basket__count {
    position: absolute;
    top: -4px;
    right: -4px;
    background: #fff;
    color: var(--ui-accent);
    font-size: 11px;
    font-weight: 700;
    min-width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
    box-shadow: 0 1px 4px rgba(0,0,0,.18);
}

@media (max-width: 600px) {
    .wpx-floating-basket {
        right: 16px;
        bottom: 80px;
        width: 46px;
        height: 46px;
    }
}

#wpx-bottom-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: #fff;
    border-top: 2px solid var(--ui-accent, #2ecc71);
    box-shadow: 0 -4px 20px rgba(0,0,0,0.12);
    padding: 12px 20px;
    transform: translateY(100%);
    transition: transform 0.25s ease;
}
#wpx-bottom-bar.is-visible {
    transform: translateY(0);
}
.wpx-bottom-bar-inner {
    display: flex;
    align-items: center;
    gap: 0;
    max-width: 1200px;
    margin: 0 auto;
}
.wpx-bottom-bar-section {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
}
.wpx-bottom-bar-divider {
    width: 1px;
    height: 32px;
    background: #e5e5e5;
    margin: 0 20px;
    flex-shrink: 0;
}
.wpx-wishlist-bar-inner {
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 1200px;
    margin: 0 auto;
}
.wpx-compare-bar-icon {
    width: 18px;
    height: 18px;
    color: var(--ui-accent, #2ecc71);
    flex-shrink: 0;
}
.wpx-wishlist-bar-icon {
    width: 18px;
    height: 18px;
    color: #e53935;
    flex-shrink: 0;
}
.wpx-wishlist-bar-label {
    font-size: 14px;
    color: #555;
    white-space: nowrap;
}
.wpx-wishlist-bar-label strong {
    color: #111;
}
.wpx-wishlist-bar-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.wpx-wishlist-bar-btn {
    display: inline-flex;
    align-items: center;
    background: #e53935;
    color: #fff !important;
    padding: 8px 18px;
    border-radius: var(--ui_radius_mini, 6px);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
}
.wpx-wishlist-bar-btn:hover {
    background: #c62828;
    color: #fff !important;
}
.wpx-wishlist-bar-clear {
    background: none;
    border: 1px solid #ddd;
    color: #777;
    padding: 7px 14px;
    border-radius: 6px;
    font-size: 13px;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s;
}
.wpx-wishlist-bar-clear:hover {
    border-color: #e53935;
    color: #e53935;
}
@media (max-width: 600px) {
    #wpx-bottom-bar { padding: 8px 12px; }
    .wpx-bottom-bar-inner { flex-direction: column; gap: 6px; }
    .wpx-bottom-bar-divider { width: 100%; height: 1px; margin: 0; }
    .wpx-bottom-bar-section {
        width: 100%;
        justify-content: space-between;
        gap: 6px;
        flex-wrap: nowrap;
        overflow: hidden;
    }
    .wpx-compare-bar-icon,
    .wpx-wishlist-bar-icon { display: none; }
    .compare-bar-items { display: none; }
    .wpx-wishlist-bar-label,
    .compare-bar-label {
        font-size: 13px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        flex: 1;
        min-width: 0;
    }
    .compare-bar-actions,
    .wpx-wishlist-bar-actions { gap: 4px; flex-shrink: 0; }
    .compare-bar-btn,
    .wpx-wishlist-bar-btn { padding: 6px 10px; font-size: 12px; white-space: nowrap; }
    .compare-bar-clear,
    .wpx-wishlist-bar-clear { padding: 5px 8px; font-size: 12px; white-space: nowrap; }
}

.compare-bar-inner {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
}
.compare-bar-label {
    font-size: 14px;
    color: #555;
    white-space: nowrap;
}
.compare-bar-label strong {
    color: #111;
}
.compare-bar-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.compare-bar-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--ui-accent, #2ecc71);
    color: #fff !important;
    padding: 8px 18px;
    border-radius: var(--ui_radius_mini, 6px);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
}
.compare-bar-btn:hover {
    background: var(--ui-accent-2, #27ae60);
    color: #fff !important;
}
.compare-bar-btn.disabled {
    opacity: 0.5;
    pointer-events: none;
}
.compare-bar-clear {
    background: none;
    border: 1px solid #ddd;
    color: #777;
    padding: 7px 14px;
    border-radius: var(--ui_radius_mini, 6px);
    font-size: 13px;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s;
}
.compare-bar-clear:hover {
    border-color: var(--ui-accent, #2ecc71) !important;
    color: var(--ui-accent, #2ecc71) !important;
}
.compare-bar-items {
    display: flex;
    gap: 10px;
    align-items: center;
    flex: 1;
    overflow: hidden;
}
#compare-section .compare-bar-items {
    display: none;
}
.compare-bar-item {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #f5f5f5;
    border-radius: 6px;
    padding: 4px 10px 4px 6px;
    font-size: 13px;
    max-width: 180px;
    overflow: hidden;
}
.compare-bar-item img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    border-radius: 3px;
    flex-shrink: 0;
}
.compare-bar-item span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.compare-bar-item-remove {
    background: none;
    border: none;
    cursor: pointer;
    color: #aaa;
    padding: 0 0 0 4px;
    font-size: 16px;
    line-height: 1;
    flex-shrink: 0;
}
.compare-bar-item-remove:hover {
    color: #e74c3c;
}

.compare-empty {
    text-align: center;
    padding: 80px 20px;
    color: #888;
}
.compare-empty svg {
    display: block;
    margin: 0 auto 20px;
    color: #ccc;
}
.compare-empty p {
    font-size: 18px;
    margin-bottom: 24px;
}
.compare-empty .button {
    background: var(--ui-accent, #2ecc71);
    color: #fff;
    padding: 12px 28px;
    border-radius: var(--ui_radius, 6px);
    text-decoration: none;
    font-size: 15px;
}

.compare-filter-bar {
    margin-top: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.compare-filter-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #555;
    cursor: pointer;
}
.compare-filter-toggle input {
    cursor: pointer;
}

.compare-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 16px;
}
.compare-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 600px;
    table-layout: fixed;
}
.compare-label-col {
    width: 160px;
}
.compare-product-col {
    min-width: 200px;
}
.compare-table thead th {
    background: #fafafa;
    border-bottom: 2px solid #eee;
    padding: 16px 12px;
    vertical-align: top;
}
.compare-product-header {
    position: relative;
    text-align: center;
}
.compare-remove-btn {
    position: absolute;
    top: 0;
    right: 0;
    background: #f5f5f5;
    border: none;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    padding: 0;
    transition: background 0.2s, color 0.2s;
}
.compare-remove-btn:hover {
    background: #fee;
    color: #e74c3c;
}
.compare-product-image img {
    width: 100%;
    max-width: 140px;
    height: 140px;
    object-fit: contain;
    display: block;
    margin: 0 auto 10px;
    border-radius: var(--ui_radius);
}
.compare-product-title {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
}
.compare-product-title a {
    color: inherit;
    text-decoration: none;
}
.compare-product-title a:hover {
    color: var(--ui-accent, #2ecc71);
}
.compare-table tbody tr {
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.15s;
}
.compare-table tbody tr:hover {
    background: #fafafa;
}
.compare-table td {
    padding: 12px 12px;
    font-size: 14px;
    vertical-align: middle;
}
.compare-label {
    font-weight: 600;
    color: #555;
    font-size: 13px;
    width: 160px;
    word-break: break-word;
    overflow-wrap: break-word;
}
.compare-value {
    text-align: center;
    color: #222;
}
.compare-cart-cell {
    padding: 16px 12px;
}
.compare-cart-cell .button {
    font-size: 13px;
    padding: 8px 14px;
    white-space: nowrap;
    border-radius: var(--ui_radius, 6px);
}

.compare-row-diff .compare-label {
    color: #111;
}
.compare-row-diff {
    background: #fffdf5;
}
.compare-diff-badge {
    display: inline-block;
    margin-left: 5px;
    font-size: 11px;
    color: #f39c12;
    font-weight: 700;
}
.compare-in-stock  { color: #27ae60; font-weight: 600; }
.compare-out-of-stock { color: #e74c3c; }

@media (max-width: 768px) {
    .compare-label-col { width: 100px; }
    .compare-label { font-size: 12px; width: 100px; }
    .compare-product-col { min-width: 140px; }
    .compare-product-image img { max-width: 100px; height: 100px; }
    .compare-bar-items { display: none; }
    .compare-bar-label { font-size: 13px; }
}
.product-summary .product-buttons {
    flex-wrap: wrap;
}
.product-summary .product-add-to-cart {
    width: 49%;
}
.product-summary .product-quick-order {
    width: 49%;
    border-radius: var(--ui_radius, 6px) !important;
    background-color: #fff !important;
    border: 2px solid var(--ui-accent) !important;
    color: var(--ui-accent) !important;
    transition: background 0.2s, color 0.2s;
}
.product-summary .product-quick-order:hover {
    background-color: var(--ui-accent) !important;
    color: #fff !important;
}

@media (max-width:1024px) {
    .product-summary .product-add-to-cart {
        width: 100%;
    }
    .product-summary .product-quick-order {
        width: 100%;
    }
    .compare-icon-btn--single,
    .wpx-wishlist-btn--single {
        width: 100%;
        justify-content: center;
    }
}
.hero3__text .accent {
    color: #b70404;
    font-size: 25px;
    background: #fff;
    padding: 10px;
    border-radius: 5px;
    font-weight: bold;
}

@keyframes sticky-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(0,0,0,0.18), 0 0 0 0 rgba(0,0,0,0.10); }
    50%  { box-shadow: 0 0 0 12px rgba(0,0,0,0), 0 0 0 24px rgba(0,0,0,0); }
    100% { box-shadow: 0 0 0 0 rgba(0,0,0,0), 0 0 0 0 rgba(0,0,0,0); }
}
@keyframes sticky-float {
    0%, 100% { transform: translateY(0); }
    50%       { transform: translateY(-5px); }
}
.sticky-btn {
    position: fixed;
    bottom: 70px;
    left: 30px;
    z-index: 999;
}
.sticky-btn__trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: none;
    background: var(--accent_color, #b50000);
    color: #fff;
    cursor: pointer;
    padding: 0;
    overflow: hidden;
    animation: sticky-float 3s ease-in-out infinite, sticky-pulse 3s ease-in-out infinite;
    transition: transform 0.2s;
}
.sticky-btn__trigger:hover {
    animation: none;
    transform: scale(1.1);
}
.sticky-btn__trigger img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    display: block;
}

@media (max-width: 600px) {
    .sticky-btn { bottom: 16px; left: 16px; }
    .sticky-btn-modal__box { margin: 16px; padding: 28px 18px 20px; }
}
.sticky-btn--sd {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.sticky-btn--pos-left  { left: 30px; right: auto; align-items: flex-start; }
.sticky-btn--pos-right { right: 30px; left: auto; align-items: flex-end; }
.sticky-btn__items {
    display: flex;
    flex-direction: column;
    gap: 8px;
    pointer-events: none;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .22s ease, transform .22s ease;
}
.sticky-btn--pos-left  .sticky-btn__items { align-items: flex-start; }
.sticky-btn--pos-right .sticky-btn__items { align-items: flex-end; }

.sticky-btn--sd.is-open .sticky-btn__items {
    pointer-events: auto;
    opacity: 1;
    transform: translateY(0);
}
.sticky-btn__sd-item {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border: none;
    border-radius: 50px;
    padding: 8px 14px 8px 16px;
    cursor: pointer;
    text-decoration: none;
    color: #222;
    font-size: 14px;
    font-weight: 500;
    box-shadow: 0 2px 12px rgba(0,0,0,.18);
    white-space: nowrap;
    transition: transform .15s ease, box-shadow .15s ease;
}
.sticky-btn__sd-item:hover {
    box-shadow: 0 4px 18px rgba(0,0,0,.22);
    color: #222;
}
.sticky-btn__sd-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: #f0f0f0;
}
.sticky-btn__sd-item--phone .sticky-btn__sd-icon { background: #27ae60; color: #fff; }
.sticky-btn__sd-item--tg    .sticky-btn__sd-icon { background: #29B6F6; }
.sticky-btn__sd-item--wa    .sticky-btn__sd-icon { background: #25D366; }
.sticky-btn__sd-item--form  .sticky-btn__sd-icon { background: var(--accent_color, #b50000); color: #fff; }
.sticky-btn__trigger--sd {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: none;
    background: var(--ui-accent, #b50000);
    color: #fff;
    cursor: pointer;
    padding: 0;
    overflow: hidden;
    animation: sticky-float 3s ease-in-out infinite, sticky-pulse 3s ease-in-out infinite;
    transition: transform .2s;
    flex-shrink: 0;
}
.sticky-btn--sd.is-open .sticky-btn__trigger--sd {
    animation: none;
    transform: scale(1.08);
}
.sticky-btn__sd-close-icon { display: none; }
.sticky-btn__sd-open-icon {position: absolute;top: 17px;}
.sticky-btn--sd.is-open .sticky-btn__sd-open-icon  { display: none; }
.sticky-btn--sd.is-open .sticky-btn__sd-close-icon { display: flex; }
.sticky-btn--pos-right .sticky-btn__sd-item { flex-direction: row; }
.sticky-btn--pos-left  .sticky-btn__sd-item { flex-direction: row-reverse; }
.sticky-btn--pos-right .sticky-btn__sd-item:hover { transform: translateX(-4px); }
.sticky-btn--pos-left  .sticky-btn__sd-item:hover { transform: translateX(4px); }
.sticky-btn--sd.is-open .sticky-btn__sd-item:nth-child(1) { transition-delay: 0s; }
.sticky-btn--sd.is-open .sticky-btn__sd-item:nth-child(2) { transition-delay: .04s; }
.sticky-btn--sd.is-open .sticky-btn__sd-item:nth-child(3) { transition-delay: .08s; }
.sticky-btn--sd.is-open .sticky-btn__sd-item:nth-child(4) { transition-delay: .12s; }
@media (max-width: 600px) {
    .sticky-btn--pos-left  { left: 16px; right: auto; }
    .sticky-btn--pos-right { right: 16px; left: auto; }
    .sticky-btn__sd-item { font-size: 13px; padding: 7px 12px 7px 14px; }
    .sticky-btn__sd-icon { width: 30px; height: 30px; }
}

body .wpc-filters-main-wrap li.wpc-term-item {
    margin-bottom: 0px;
}

.cart-item__meta {
    display: block;
    font-size: 12px;
    color: var(--ui-muted, #6b7280);
    margin-bottom: 2px;
}
.ostatok-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.ostatok-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.ostatok-table thead th {
    padding: 10px 14px;
    text-align: left;
    font-weight: 600;
    color: var(--wpx-text-muted, #888);
    border-bottom: 2px solid var(--wpx-border, #e8e8e8);
    white-space: nowrap;
}
.ostatok-table tbody td {
    padding: 12px 14px;
    border-bottom: 1px solid var(--wpx-border, #e8e8e8);
    vertical-align: middle;
}
.ostatok-table tbody tr:last-child td {
    border-bottom: none;
}

.ostatok-row--rezerv {
    opacity: 0.6;
}

.ostatok-size {
    font-weight: 600;
    white-space: nowrap;
}

.ostatok-area {
    white-space: nowrap;
    color: var(--wpx-text-muted, #888);
}

.ostatok-price-per {
    display: block;
    color: var(--wpx-text-muted, #888);
    font-size: 13px;
}

.ostatok-price-total {
    display: block;
    font-weight: 700;
    font-size: 15px;
    color: var(--wpx-accent, #333);
}

.ostatok-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.product-ostatok-anchor {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 8px;
    font-size: 13px;
    color: var(--ui-accent);
    text-decoration: none;
    border-bottom: 1px dashed currentColor;
    line-height: 1.2;
}
.ab-main--nav-2 {
    display: flex;
    flex-direction: column;
}
.ab-main--nav-2 .nav-type-2 {
    width: 100%;
}
@media (max-width: 768px) {
    .ab-main--nav-2 .nav-type-2 {
        display: none;
    }
}

.product-ostatok-anchor:hover {
    color: var(--ui-accent-2);
}

.cart-item__ostatok-badge {
    display: inline-block;
    width: fit-content;
    padding: 3px 9px;
    border-radius: var(--ui_radius_mini, 4px);
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.03em;
    line-height: 1.4;
    white-space: nowrap;
    text-transform: uppercase;
    background: #607d8b;
    margin-bottom: 3px;
}

.ostatok-badge--dostupno {
    background: #e8f5e9;
    color: #2e7d32;
}

.ostatok-badge--rezerv {
    background: #f5f5f5;
    color: #757575;
}

.ostatok-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.ostatok-actions .button {
    padding: 8px 14px;
    font-size: 13px;
    border-radius: var(--ui_radius, 6px);
    cursor: pointer;
    transition: background 0.2s, color 0.2s, opacity 0.2s;
    white-space: nowrap;
    border: 1px solid transparent;
    line-height: 1.4;
}

.ostatok-add-to-cart {
    background: var(--ui-accent) !important;
    color: var(--ui_white, #fff) !important;
    border-color: var(--ui-accent) !important;
}

.ostatok-add-to-cart:hover {
    background: var(--ui-accent-2) !important;
    border-color: var(--ui-accent-2) !important;
    color: var(--ui_white, #fff) !important;
}

.ostatok-add-to-cart.added-ostatok {
    opacity: 0.55;
    cursor: default;
    pointer-events: none;
}

.ostatok-add-to-cart.loading {
    opacity: 0.5;
    cursor: wait;
    pointer-events: none;
}

.ostatok-request-btn {
    background: transparent !important;
    color: var(--ui-accent) !important;
    border-color: var(--ui-accent) !important;
}

.ostatok-request-btn--primary {
    background: var(--ui-accent) !important;
    color: var(--ui_white, #fff) !important;
    border-color: var(--ui-accent) !important;
}

.ostatok-request-btn--primary:hover {
    background: var(--ui-accent-2) !important;
    border-color: var(--ui-accent-2) !important;
    color: var(--ui_white, #fff) !important;
}

.ostatok-request-btn:hover {
    background: var(--ui-accent) !important;
    color: var(--ui_white, #fff) !important;
}

@media (max-width: 680px) {
    .ostatok-table thead {
        display: none;
    }

    .ostatok-table tbody tr {
        display: block;
        padding: 12px 0;
        border-bottom: 1px solid var(--wpx-border, #e8e8e8);
    }

    .ostatok-table tbody td {
        display: block;
        padding: 4px 0;
        border: none;
    }

    .ostatok-table tbody td::before {
        content: attr(data-label) ': ';
        font-weight: 600;
        color: var(--wpx-text-muted, #888);
        font-size: 12px;
    }

    .ostatok-actions {
        margin-top: 8px;
    }

    .ostatok-actions .button {
        display: block;
        width: 100%;
        margin-right: 0;
        margin-bottom: 6px;
        text-align: center;
    }
}

.reviews-page-section {
    padding: 40px 0 60px;
}

.reviews-page-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
    margin-top: 32px;
}

.reviews-page-empty {
    text-align: center;
    color: var(--wpx-text-muted, #888);
    padding: 40px 0;
    font-size: 16px;
}

.reviews-page-pagination {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 40px;
    flex-wrap: wrap;
}

.reviews-page-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border-radius: var(--ui_radius, 6px);
    border: 1px solid var(--wpx-border, #ddd);
    font-size: 14px;
    color: var(--wpx-text, #333);
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}

.reviews-page-pagination .page-numbers.current,
.reviews-page-pagination .page-numbers:hover {
    background: var(--ui-accent);
    color: #fff;
    border-color: var(--ui-accent);
}

.wpx-review-open-btn {
    background: var(--ui-accent) !important;
    color: var(--ui_white, #fff) !important;
    border-color: var(--ui-accent) !important;
    border-radius: var(--ui_radius, 6px) !important;
}

.wpx-review-open-btn:hover {
    background: var(--ui-accent-2) !important;
    border-color: var(--ui-accent-2) !important;
    color: var(--ui_white, #fff) !important;
}

#fancy-modal-review .wpcf7.sent form {
    display: none;
}

#fancy-modal-review .wpcf7.sent .wpcf7-response-output {
    display: block !important;
    text-align: center;
    padding: 24px 16px;
    font-size: 16px;
    color: #2e7d32;
    border: none !important;
    margin: 0;
}

#fancy-modal-review .wpcf7-textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--wpx-border, #ddd);
    border-radius: var(--ui_radius, 6px);
    font-size: 14px;
    color: var(--wpx-text, #333);
    line-height: 1.6;
    resize: vertical;
    font-family: inherit;
    transition: border-color 0.2s;
    box-sizing: border-box;
}

#fancy-modal-review .wpcf7-textarea:focus {
    border-color: var(--ui-accent);
    outline: none;
}

#fancy-modal-review .wpcf7-select[name="reviewer-rating"] {
    display: none;
}

.wpx-star-rating {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 4px;
    margin: 15px 0px;
}

.wpx-star-rating__star {
    font-size: 28px;
    color: #ddd;
    cursor: pointer;
    transition: color 0.15s;
    line-height: 1;
    user-select: none;
}

.wpx-star-rating__star:hover,
.wpx-star-rating__star:hover ~ .wpx-star-rating__star,
.wpx-star-rating__star.active,
.wpx-star-rating__star.active ~ .wpx-star-rating__star {
    color: #f5a623;
}

.woocommerce ul.products.columns-3 li.product,
.woocommerce-page ul.products.columns-3 li.product {
    /* width: calc(33% - 11px) !important; */
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    width: calc((100% - 40px) / 3) !important;
}
@media (max-width: 1350px) and (min-width: 1025px) {
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        width: calc(50% - 10px) !important;
    }
}
@media (max-width: 1024px) and (min-width: 940px) {
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        width: calc((100% - 40px) / 3) !important;
    }
}
@media (max-width: 899px) and (min-width: 651px) {
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        width: calc(50% - 10px) !important;
    }
}
@media (max-width: 650px) {
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        width: 100% !important;
    }
}
@media (max-width: 650px) {
    .woocommerce ul.products li.product .product-image,
    .woocommerce-page ul.products li.product .product-image {
        aspect-ratio: 1 / 1;
        max-height: none;
        overflow: hidden;
    }
    .woocommerce ul.products li.product .custom-product-card,
    .woocommerce-page ul.products li.product .custom-product-card {
        height: auto;
    }
    .woocommerce ul.products li.product .product-info,
    .woocommerce-page ul.products li.product .product-info {
        height: auto;
        margin-top: 12px;
    }
}

.woocommerce .related ul.products li.product,
.woocommerce-page .related ul.products li.product {
    width: calc(25% - 15px) !important;
}
@media (max-width: 1024px) {
    .woocommerce .related ul.products li.product,
    .woocommerce-page .related ul.products li.product {
        width: calc(50% - 10px) !important;
    }
}
@media (max-width: 650px) {
    .woocommerce .related ul.products li.product,
    .woocommerce-page .related ul.products li.product {
        width: 100% !important;
    }
}

.reviews-page-summary {
    background: var(--ui-bg-soft, #f7f9ff);
    border-radius: var(--ui_radius_mini, 8px);
    padding: 32px 36px 28px;
    margin-bottom: 36px;
}
.reviews-page-summary__title {
    font-size: 36px;
    color: var(--ui-title-muted);
    margin: 0 0 28px;
    position: relative;
    line-height: 1.2em;
    font-weight: 400;
}
.reviews-page-summary__title::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 80px;
    height: 3px;
    background: var(--ui-accent);
}
@media (max-width: 1024px) {
    .reviews-page-summary__title { font-size: 30px; }
}
@media (max-width: 768px) {
    .reviews-page-summary__title { font-size: 24px; }
}
.reviews-page-summary__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 18px;
}
.reviews-page-summary__count {
    font-size: 15px;
    color: var(--ui-muted, #6b7280);
}
.reviews-page-summary__count strong {
    color: #000;
    font-size: 17px;
}
.reviews-page-summary__rating {
    display: flex;
    align-items: center;
    gap: 10px;
}
.reviews-page-summary__score {
    font-size: 42px;
    font-weight: 700;
    line-height: 1;
    color: var(--ui-accent, #b50000);
}
.reviews-page-summary__rating .review__stars {
    font-size: 24px;
}
.reviews-page-summary__desc {
    margin: 0;
    font-size: 14px;
    color: var(--ui-muted, #6b7280);
    line-height: 1.6;
    max-width: 680px;
}

.stores-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin: 0;
}
.store-card {
    background: #fff;
    border-radius: var(--ui_radius_mini, 8px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.06);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.3s, transform 0.3s;
}
.store-card:hover {
    box-shadow: 0 10px 28px rgba(0,0,0,0.12);
    transform: translateY(-3px);
}
.store-card__img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    display: block;
    margin: 0;
}
.store-card__body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}
.store-card__name {
    font-size: 15px;
    font-weight: 600;
    color: var(--ui-title-muted, #474747);
    line-height: 1.4;
}
.store-card__hours {
    font-size: 13px;
    color: var(--ui-muted, #6b7280);
    display: flex;
    align-items: center;
    gap: 5px;
}
.store-card__hours::before {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
    background-size: contain;
    flex-shrink: 0;
}
.store-card__phone {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    font-weight: 600;
    color: var(--ui-accent, #b50000);
    text-decoration: none;
    padding-top: 4px;
}
.store-card__phone:hover {
    color: var(--ui-accent-2, #8d0000);
}
.store-card__phone::before {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b50000' stroke-width='2'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12a19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 3.6 1.28h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L7.91 9a16 16 0 0 0 6.09 6.09l1.08-1.08a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
    background-size: contain;
    flex-shrink: 0;
}
@media (max-width: 768px) {
    .stores-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}
@media (max-width: 1024px) and (min-width: 769px) {
    .stores-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.menu-podval-uslugi-container .sub-menu,
.menu-podval-magazin-container .sub-menu {
    margin: 2px 0 6px 0;
    padding-left: 10px;
    border-left: 2px solid var(--ui-accent);
    overflow: visible;
}
.menu-podval-uslugi-container .sub-menu .menu-item a,
.menu-podval-magazin-container .sub-menu .menu-item a {
    font-size: 14px;
    color: var(--ui-muted);
    padding: 2px 0;
    display: block;
}
.menu-podval-uslugi-container .sub-menu .menu-item a:hover,
.menu-podval-magazin-container .sub-menu .menu-item a:hover {
    color: var(--ui-accent);
}

.wpx-city-menu-item {
    display: flex;
    align-items: center;
}
.wpx-city-menu-item a {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 0 !important;
    gap: 6px;
}
.wpx-city-icon-wrap {
    width: 36px !important;
    height: 36px !important;
    color: var(--ui-muted);
    transition: color 0.2s;
}
.wpx-city-icon-wrap:hover {
    background: var(--ui-bg-hover) !important;
    color: var(--ui-accent) !important;
}
.wpx-city-btn__label {
    font-size: 14px;
    font-weight: 500;
    color: var(--ui-title-muted);
    white-space: nowrap;
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color 0.2s;
}
.wpx-city-btn:hover .wpx-city-btn__label {
    color: var(--ui-accent);
}
@media (max-width: 768px) {
    .wpx-city-btn__label {
        display: none;
    }
}

.wpx-city-modal__title {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 20px;
    color: #111;
}
.wpx-city-modal__list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.wpx-city-modal__item {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    border-radius: 20px;
    border: 1px solid #e5e7eb;
    font-size: 14px;
    color: #333;
    text-decoration: none;
    transition: border-color 0.2s, background 0.2s, color 0.2s;
    cursor: pointer;
}
.wpx-city-modal__item:hover {
    border-color: var(--ui-accent);
    color: var(--ui-accent);
    background: color-mix(in srgb, var(--ui-accent) 8%, #fff);
}
.wpx-city-modal__item.is-active {
    border-color: var(--ui-accent);
    background: var(--ui-accent);
    color: #fff;
    font-weight: 600;
    pointer-events: none;
}

.wpx-scroll-top {
    position: fixed;
    bottom: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: none;
    background: var(--ui-accent, #333);
    color: #fff;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0,0,0,.18);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity .25s, visibility .25s, transform .25s, background .2s;
    z-index: 999;
}
.wpx-scroll-top--right { right: 24px; }
.wpx-scroll-top--left  { left: 24px; }
.wpx-scroll-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.wpx-scroll-top svg { display: block; width: 28px !important; height: 28px !important; fill: #fff !important; flex-shrink: 0; }
.lumika-fs-filter { background: #fff; }
.wpx-scroll-top:hover { background: color-mix(in srgb, var(--ui-accent, #333) 85%, #000); }
@media (max-width: 768px) {
    .wpx-scroll-top { width: 38px; height: 38px; bottom: 20px; }
    .wpx-scroll-top--right { right: 14px; }
    .wpx-scroll-top--left  { left: 14px; }
}

.page-header-image { display: none !important; }
@media (max-width: 768px) {
    .site-footer .footer-widgets-container .inside-footer-widgets > div {
        flex: auto;
        width: 100%;
        margin-bottom: 20px;
    }
    .site-footer .footer-widgets-container .inside-footer-widgets {
        margin: 0px !important;
    }
}