@import url(__min.bootstrap.css);
@import url(__min.gothampro.css);
@import url(__min.opensans.css);
@import url(__min.flaticon.css);


/* =============================================================
   ТКС БУКСИРИ — MASTER CSS
   Структура:
   1.  CSS-змінні
   2.  Базові стилі (html, body, *, типографіка)
   3.  Посилання та кнопки
   4.  Форми та інпути
   5.  Шапка (#header)
   6.  Меню каталогу (#menu_catalog) — десктоп
   7.  Меню каталогу (#menu_catalog) — мобільний
   8.  Корзина у шапці (.header-cart)
   9.  Пошук (#search, .is-form-style)
   10. Контент (#content, #path)
   11. Картки товарів (.products, .product_item)
   12. Категорії (.main_cat, .subcategories)
   13. Сторінка товару (#product_card)
   14. Кошик (#cart, .purchase)
   15. Футер (#footer)
   16. Слайдер (slick)
   17. Попапи (.popup_content, .white-popup, .mfp-*)
   18. Рейтинг (.rating)
   19. Пагінація (.pagination)
   20. Утиліти (відступи, текст, колір)
   21. Сторонні компоненти (glsr, jq)
   22. Мобільний акордеон (.cat-toggle) — header.php
   ============================================================= */


/* =============================================================
   1. CSS-ЗМІННІ
   ============================================================= */
/* =============================================================
   1. CSS-ЗМІННІ  —  Стропи / такелаж, промисловий B2B
   Схема: антрацитова шапка, сталево-синій акцент, світлий контент
   ============================================================= */
:root {
    --gold:      #1e5fa8;   /* сталево-синій акцент (CTA, іконки)  */
    --gold-h:    #174d8e;   /* темніший ховер акценту              */
    --black:     #1e2228;   /* майже чорний антрацит               */
    --dark:      #2e3440;   /* основний темний (шапка, футер)      */
    --dark2:     #232a35;   /* глибокий антрацит (підрядки шапки)  */
    --dark3:     #283040;   /* меню каталогу                       */
    --light:     #f2f4f7;   /* холодно-світлий фон сторінки        */
    --mid:       #5c6878;   /* сірий для другорядного тексту       */
    --white:     #ffffff;
    --border:    #3c4558;   /* межі в темних блоках                */
    --orange:    #e05c1a;   /* ціни (теплий контраст до синього)   */

    /* Висоти шапки — не змінювати без правок body padding-top */
    --header-h-desktop: 87px;
    --menu-h-desktop:   50px;
    --header-h-mobile:  56px;
}




/* =============================================================
   2. БАЗОВІ СТИЛІ
   ============================================================= */
html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
}

html, body {
    font-size: 13px;
    letter-spacing: .5px;
    font-family: 'Roboto', Arial, Helvetica, sans-serif;
    color: #010101;
    margin: 0;
    padding: 0;
}

body {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    /* десктоп: header + menu catalog */
    padding-top: calc(var(--header-h-desktop) + var(--menu-h-desktop));
}

* {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    background: transparent;
    box-sizing: border-box;
    transition: width .5s, height .5s;
}

*, :after, :before {
    box-sizing: border-box;
}

img { font-size: 0; }

h1, .block_title {
    margin: 0;
    padding: 0;
    font-size: 28px;
    letter-spacing: 1px;
    text-align: center;
    font-weight: 700;
    line-height: 32px;
}

h2, h3 { letter-spacing: 1px; }
h3, .h3 { font-size: 16px; }

#body_wrapper {
    flex-grow: 1;
}

#content {
    background: #fff;
    text-align: left;
}

.transfer_class {
    transition: none;
}

.body_loader { display: none; }

.overlay-bg {
    position: fixed;
    top: 0; right: 0; bottom: 0; left: 0;
    overflow: hidden;
    z-index: -1;
    max-width: 100vw;
    transition: z-index 0 ease-in-out 450ms, background-color 300ms ease-in-out;
}

body.overlay .overlay-bg {
    z-index: 997;
    overflow-y: scroll;
    background: rgba(0,0,0,.2);
    transition-delay: 0;
}

#scrollTopBtn {
    position: fixed;
    right: 20px;
    bottom: 20px;
    width: 30px;
    height: 40px;
    background: #000;
    color: #fff;
    border-radius: 6px;
    cursor: pointer;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    line-height: 1;
    text-align: center;
    opacity: 0;
    transition: opacity .3s ease;
}

#scrollTopBtn.show {
    opacity: 1;
}


/* =============================================================
   3. ПОСИЛАННЯ ТА КНОПКИ
   ============================================================= */
a { color: var(--dark) !important; }
a:hover { color: var(--gold) !important; text-decoration: none; }

a.blue { color: #08c; }
a.blue.dodet { border-bottom: 1px dotted #08c; text-decoration: none; }
a.blue.dashed { border-bottom: 1px dashed #08c; text-decoration: none; }
a.blue.dodet:hover, a.blue.dashed:hover { border-bottom: none; }

.fa-brands, .fab { padding: 0 0 0 10px; }

/* Загальні переходи */
a, button, .button, .more, #menu_catalog li, #menu_catalog li a {
    transition: color .2s, background .2s, border-color .2s, box-shadow .2s;
}

.price {
    text-align: center !important;
}

.button {
    background: var(--dark) !important;
    border: 1px solid var(--dark) !important;
    color: var(--white) !important;
    padding: 8px 40px 10px 40px;
    font-size: 16px;
    letter-spacing: 2px;
    font-weight: 300;
    cursor: pointer;
    border-radius: 5px;
}

.button:hover {
    background: var(--gold) !important;
    border-color: var(--gold) !important;
    color: var(--black) !important;
}

.button.grey  { background: #010101 !important; border-color: #010101 !important; }
.button.grean { background: #98C421 !important; border-color: #98C421 !important; }
.button.grean.blank { background: transparent !important; border: 2px solid #98C421 !important; color: #81A61C !important; }
.button.blue  { background: #2e88c4 !important; border-color: #2e88c4 !important; }
.button.blue.blank { background: transparent !important; border: 2px solid #2e88c4 !important; color: #2e88c4 !important; }
.button.blue.blank:hover { background: #2e88c4 !important; color: #fff !important; }

.button_link_dotted { background: transparent; border-bottom: 1px dotted #2e88c4; color: #2e88c4; }
.button_link_dashed { background: transparent; border-bottom: 1px dashed #2e88c4; color: #2e88c4; }

.more {
    margin: -12px 0 0 0;
    padding: 7px 15px;
    background-color: var(--gold) !important;
    border-color: var(--gold) !important;
    color: var(--black) !important;
    font-weight: 700 !important;
    font-size: 16px;
    letter-spacing: 1px;
    border: 0;
    border-radius: 5px;
    background-image: none;
    box-shadow: 0 3px 14px rgba(218,157,14,.3);
}

.more:hover, .more:focus {
    background-color: var(--gold-h) !important;
    border-color: var(--gold-h) !important;
    color: var(--black) !important;
    box-shadow: 0 5px 20px rgba(218,157,14,.45);
    transform: translateY(-1px);
}

#fastOrder .button {
    background: var(--gold) !important;
    border-color: var(--gold) !important;
    color: var(--black) !important;
    font-weight: 700 !important;
    width: 100%;
    font-size: 19px;
}

#fastOrder .button:hover {
    background: var(--gold-h) !important;
    border-color: var(--gold-h) !important;
}

.form-more {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}


/* =============================================================
   4. ФОРМИ ТА ІНПУТИ
   ============================================================= */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
textarea,
button {
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
    outline: 0;
    font-size: 16px;
    letter-spacing: 1px;
    padding: 11px;
    border: 1px solid #959595;
    border-radius: 5px;
    background-image: none;
    background-color: #FCFCFC;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
textarea:focus {
    border: 1px solid #000;
    background: #fff;
    box-shadow: none;
}

.jq-checkbox.invalid,
input[type="checkbox"].invalid,
input[type="text"].invalid,
input[type="email"].invalid,
input[type="password"].invalid,
input[type="tel"].invalid,
input[type="number"].invalid,
textarea.invalid { border: 1px solid #EA1818; }

.jq-checkbox.checked,
input[type="checkbox"].success,
input[type="text"].success,
input[type="email"].success,
input[type="password"].success,
input[type="tel"].success,
input[type="number"].success,
textarea.success { border: 1px solid #2e88c4; }

.form input, .form textarea { width: 100%; margin: 10px 0; }
.form textarea { height: 100px; }
.form .field { margin: 6px 0; }
.form label { display: block; }
.form label i { font-style: normal; font-size: 12px; color: red; margin-left: 5px; }

.message_error { color: red; }

.captcha { display: block; }
.captcha input { width: 110px; display: inline-block; font-size: 24px; font-weight: 900; }

.comment_form { text-align: left; margin-top: 20px; margin-bottom: 20px; }
.comment_form input[type=text], .comment_form textarea { background: #fff !important; }

.page-numbers { color: #000; }


/* =============================================================
   5. ШАПКА (#header)
   ============================================================= */

/* ── ГОЛОВНЕ ПРАВИЛО: фіксована шапка, ховання через transform ── */
#header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 2000 !important;
    background: var(--black) !important;
    padding: 12px 0 !important;
    border-bottom: 3px solid var(--gold);
    box-shadow: 0 4px 20px rgba(0,0,0,.7);
    margin-bottom: 0;
    /* Ховання/показ через transform — НЕ через top */
    transform: translateY(0);
    transition: transform 0.3s ease;
}

/* JS додає цей клас при скролі вниз */
#header.header--hidden {
    transform: translateY(-100%) !important;
}

#header div {
    text-align: center;
    height: 60px;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
}

#header a,
#header .icons,
#header .icons::before,
#header .phone {
    color: var(--white) !important;
}

#header a:hover,
#header .icons:hover {
    color: var(--gold) !important;
    text-decoration: none;
}

#header .icons {
    margin: 0 5px;
    text-align: center;
    display: inline-block;
    font-size: 11px;
    position: relative;
}

#header .icons:before {
    font-size: 21px;
    font-weight: bold;
    display: inline-block;
    text-align: center;
    width: 100%;
    margin: 0;
}

#header .mobile_search { display: none; cursor: pointer; }

#header .sup {
    background-color: var(--gold) !important;
    color: var(--black) !important;
    font-size: 11px;
    text-align: center;
    display: block;
    border-radius: 22px;
    position: absolute;
    right: 0;
    top: -5px;
    min-width: 22px;
    min-height: 22px;
    line-height: 22px;
    letter-spacing: 0;
    padding: 0 4px;
}

#header .phone {
    font-size: 16px;
    font-weight: 700;
    margin-top: 25px;
    display: inline-block;
    padding-top: 7px;
}

#header .menu { list-style: none; }

#header .menu li { display: inline-block; margin-right: 6px; }
#header .menu li:last-child { margin-right: 0; }

#header .menu li a {
    color: rgba(255,255,255,.75) !important;
    font-size: 12px;
    letter-spacing: .4px;
}

#header .menu li a:hover { color: var(--gold) !important; }

#logo { line-height: 60px; }
#logo a { display: inline-block; position: relative; }
#logo span {
    position: absolute;
    bottom: -15px;
    left: -1px;
    font-size: 11px;
    line-height: 16px;
    z-index: 1;
    color: #A6A6A6;
    white-space: nowrap;
    letter-spacing: .3px;
}

#header_info {
    background: var(--dark2) !important;
    color: rgba(255,255,255,.5) !important;
    border-bottom: 1px solid var(--border) !important;
    padding: 10px;
    margin-bottom: 5px;
    text-align: center;
    overflow: hidden;
}

#header_info .container { position: relative; margin-bottom: 0; }
#header_info .items { padding: 0 25px; font-size: 11px; letter-spacing: 2px; font-weight: 500; }
#header_info .close { position: absolute; right: 15px; top: 0; cursor: pointer; }
#header_info .close::before { font-size: 13px; }

#r_head_menu { text-wrap: nowrap; }

/* Корзина в шапці — мобільна прихована на десктопі */
.header-cart--mobile { display: none; }

/* Мовне підменю */
.pll-parent-menu-item { position: relative; }

.pll-parent-menu-item .sub-menu {
    display: none;
    position: absolute;
    right: 0;
    top: 100%;
    background: white;
    list-style: none;
    padding: 0;
    margin: 0;
    border: 1px solid #ccc;
    z-index: 1000;
    flex-direction: column;
}

.pll-parent-menu-item:hover .sub-menu { display: flex; }

.pll-parent-menu-item .sub-menu li,
.pll-parent-menu-item .sub-menu li a { width: 100%; }

.pll-parent-menu-item .sub-menu li a {
    display: block;
    padding: 8px 12px;
    text-decoration: none;
    color: #333;
}

.pll-parent-menu-item .sub-menu li a:hover { background-color: #f0f0f0; }

#cart_informer { position: relative; }

#cart_informer span {
    background-color: var(--gold) !important;
    color: var(--black) !important;
    font-size: 11px;
    text-align: center;
    display: block;
    border-radius: 50%;
    position: absolute;
    right: 10px;
    top: -5px;
    min-width: 22px;
    min-height: 22px;
    line-height: 22px;
    letter-spacing: 0;
}

/* Гамбургер / телефон мобільний */
#header .get_menu,
.tel-mobile { color: var(--white) !important; }

.mob-phone {
    color: var(--white);
    padding-bottom: 10px;
    font-size: 18px;
    font-weight: 700;
    display: flex;
    justify-content: center;
}

.contact-bottom {
    width: inherit;  
    bottom: 10px;
}



/* =============================================================
   6. МЕНЮ КАТАЛОГУ — ДЕСКТОП (min-width: 992px)
   ============================================================= */
@media (min-width: 992px) {

    /* Приховати мобільні елементи */
    #header .get_menu,
    #menu_catalog .close,
    #menu_catalog .cont-mobile,
    #menu_catalog .show-all,
    #menu_catalog .path,
    .tel-mobile,
    #menu_catalog .menu--pages.only-mobile {
        display: none;
    }

    /* Корзина мобільна — прихована */
    .header-cart--mobile { display: none !important; }

    /* Корзина десктоп — видима */
    .header-cart { display: block; }

    /* ── МЕНЮ КАТАЛОГУ: фіксоване під шапкою ── */
    #menu_catalog {
        background: var(--dark3) !important;
        border-top: none !important;
        border-bottom: 2px solid var(--border) !important;
        /* Фіксоване під шапкою */
        position: fixed !important;
        top: var(--header-h-desktop) !important;  /* = 87px */
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 1999 !important;
        /* Слідкує за шапкою при ховання */
        transform: translateY(0);
        transition: transform 0.3s ease;
        margin: 0 !important;
    }

    /* Коли шапка захована — меню теж ховається */
    #header.header--hidden ~ #menu_catalog,
    body:has(#header.header--hidden) #menu_catalog {
        transform: translateY(calc(-1 * var(--header-h-desktop)));
    }

    #menu_catalog .container {
        margin-bottom: 0;
        position: relative;
        width: 98%;
    }

    #menu_catalog ul {
        list-style: none;
        padding: 0;
        margin: 0;
        text-align: center;
        position: relative;
        display: inline-block;
    }

    #menu_catalog li {
        display: inline-block;
        position: relative;
        margin: 0;
        transition: all .2s;
    }

    /* Пункти першого рівня */
    #menu_catalog .container > ul > li { position: static; }

    #menu_catalog .container > ul > li:hover { background: var(--gold) !important; }

    #menu_catalog .container > ul > li:hover > a { color: var(--black) !important; }

    /* Всі посилання */
    #menu_catalog li a {
        color: rgba(255,255,255,.85) !important;
        padding: 15px;
        font-size: 15px;
        font-weight: 600;
        letter-spacing: .3px;
        display: block;
    }

    /* Підменю другого рівня — випадаюче */
    #menu_catalog .container > ul > li > ul {
        padding: 10px;
        background: var(--dark2) !important;
        width: 100%;
        border: 1px solid rgba(0,0,0,.04);
        margin-top: 48px;
        top: 0;
        left: 0;
        position: absolute;
        z-index: 99;
        display: none;
    }

    #menu_catalog .container > ul > li > ul::before {
        position: absolute;
        top: 0; right: 0; bottom: 0; left: 0;
        content: '';
        border-radius: .1px;
        box-shadow: 0 12px 30px rgba(0,0,0,.6) !important;
        background: var(--dark2) !important;
    }

    /* Відкрити по ховеру */
    #menu_catalog .container > ul > li:hover > ul { display: block; }

    #menu_catalog li.popup_right ul { left: auto; right: 0; }

    /* Пункти другого рівня — колонки через float */
    #menu_catalog li ul li {
        display: block;
        float: left;
        text-align: left;
        margin: 0;
        width: 200px;
    }

    #menu_catalog li ul li a {
        color: rgba(255,255,255,.75) !important;
        font-size: 13px !important;
        font-weight: 600;
        padding: 8px 10px;
        display: block;
        text-transform: uppercase;
    }

    #menu_catalog li ul li a:hover {
        background: rgba(218,157,14,.1) !important;
        color: var(--gold) !important;
    }

    /* Пункти третього рівня */
    #menu_catalog li li li {
        float: none;
        width: 100%;
    }

    #menu_catalog li li li a {
        font-weight: 500;
        font-size: 11px !important;
        text-transform: none;
    }

    #menu_catalog .brandzone,
    #menu_catalog .search { display: none; }

    #menu_catalog .search { padding: 4px; cursor: pointer; }
    #menu_catalog .search:hover { background: transparent; }
    #menu_catalog .search span::before { margin: 0; font-size: 16px; }
}


/* =============================================================
   7. МЕНЮ КАТАЛОГУ — МОБІЛЬНИЙ (max-width: 991px)
   ============================================================= */
@media (max-width: 991px) {

    body {
        /* мобільний: тільки висота шапки */
        padding-top: var(--header-h-mobile) !important;
    }

    .ajax_search { display: block !important; }

    #header .get_menu { cursor: pointer; display: block; }

    /* Кнопка закрити */
    #menu_catalog .close {
        cursor: pointer;
        position: absolute;
        z-index: 9999;
        right: -35px;
        top: 50px;
        transform: rotate(90deg);
    }

    #menu_catalog .close::before { margin-right: 15px; }

    /* Панель меню — зліва (drawer) */
    #menu_catalog {
        background: var(--black) !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        z-index: 3000 !important;
        
        height: 100% !important;
        width: 100% !important;
        max-width: 350px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        transform: translateX(-350px) !important;
        transition: transform .3s ease !important;
        -webkit-overflow-scrolling: touch;
    }


#menu_catalog.m_oppen {
    box-shadow: 2px 0 4px 1px rgba(0,0,0,.2);
    transform: translateX(0) !important;
}


    #menu_catalog .container {
        background: var(--black) !important;
        width: 100%;
        height: 100%;
        z-index: 10000;
        text-align: left;
        padding: 0 !important;
        margin: 0 !important;
        position: relative;
    }

    #menu_catalog ul {
        list-style: none;
        margin: 0;
        width: 100%;
        transition: all .3s ease;
    }

    #menu_catalog ul.moving { transform: translateX(-100%); }

    /* Всі вкладені ul — статичні, приховані */
    #menu_catalog .menu--cats ul,
    #menu_catalog .menu--cats li > ul {
        position: static !important;
        display: none !important;
        padding-left: 14px;
        border-left: 2px solid rgba(255,255,255,.15);
        margin: 4px 0;
    }

    /* Відкритий підрівень */
    #menu_catalog .menu--cats li > ul.is-open {
        display: block !important;
    }

    /* li з підменю */
    #menu_catalog .menu--cats li:has(> ul) {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
    }

    #menu_catalog .menu--cats li:has(> ul) > a { flex: 1; }
    #menu_catalog .menu--cats li:has(> ul) > ul { flex: 0 0 100%; }

    #menu_catalog li { position: static; }

    #menu_catalog li a {
        color: rgba(255,255,255,.82) !important;
        border-bottom: 1px solid var(--border);
        display: block;
        padding: 15px 25px 15px 15px;
        font-size: 18px;
        line-height: 20px;
        font-weight: 700;
        position: relative;
    }

    #menu_catalog li a:hover {
        color: var(--gold) !important;
        text-decoration: none !important;
    }

    #menu_catalog li a.path { background: #F1F1F1; margin-bottom: 2px; }

    #menu_catalog li a.show-all {
        background: transparent;
        color: #2e88c4;
        text-align: center;
        font-size: 16px;
    }

    #menu_catalog .search { display: none; }

    /* Кнопка + / − для акордеону */
    #menu_catalog .cat-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        flex-shrink: 0;
        margin-right: 50px;
        cursor: pointer;
        font-size: 20px;
        line-height: 1;
        border-radius: 4px;
        background: rgb(248, 174, 14);
        color: #000;
        font-weight: bold;
        transition: background .2s;
    }

    #menu_catalog .cat-toggle:hover { background: rgb(220, 150, 0); }

    /* ── ШАПКА НА МОБІЛЬНОМУ ── */
    #header {
        padding: 0 !important;
        overflow: visible !important;
        height: var(--header-h-mobile) !important;
        /* transform/transition успадковується з глобального правила */
    }

    #header > .container {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        height: var(--header-h-mobile) !important;
        padding: 0 10px !important;
        overflow: visible !important;
        flex-wrap: nowrap !important;
    }

    /* Всі дочірні div шапки */
    #header div {
        height: auto !important;
    }

    /* Лого */
    #header #logo {
        flex: 0 0 auto !important;
        height: var(--header-h-mobile) !important;
        line-height: var(--header-h-mobile) !important;
        display: flex !important;
        align-items: center !important;
    }

    #header #logo img { width: 120px !important; padding: 6px 0 !important; }

    /* Пошук — прихований */
    #header .ajax_search { display: none !important; }

    /* Права частина */
    #header .right_block {
        flex: 0 0 auto !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 14px !important;
        height: var(--header-h-mobile) !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Корзина мобільна — видима */
    .header-cart--mobile {
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .header-cart--mobile .header-cart__link {
        display: flex !important;
        align-items: center !important;
        gap: 4px !important;
        color: #fff !important;
    }

    .header-cart--mobile .header-cart__icon { font-size: 20px !important; }
    .header-cart--mobile .header-cart__count { font-size: 11px !important; }
    .header-cart--mobile .header-cart__total { display: none !important; }

    /* Телефон */
    .tel-mobile {
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1 !important;
    }

    .tel-mobile a {
        color: #fff !important;
        font-size: 22px !important;
        line-height: 1 !important;
        display: flex !important;
        align-items: center !important;
    }

    /* Бургер */
    .menu_open_main {
        display: flex !important;
        align-items: center !important;
        font-size: 26px !important;
        line-height: 1 !important;
        cursor: pointer !important;
        color: #fff !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Приховати зайве */
    .right_block .header_phone { display: none !important; }
    #r_head_menu { display: none !important; }

    /* Корзина десктоп — прихована */
    .header-cart:not(.header-cart--mobile) { display: none !important; }
}


/* =============================================================
   8. КОРЗИНА У ШАПЦІ (.header-cart)
   ============================================================= */
.header-cart__link {
    display: flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    color: var(--white) !important;
    font-size: 13px;
    font-weight: 600;
}

.header-cart__link:hover { color: var(--gold) !important; }

.header-cart__icon { font-size: 18px; }

.header-cart__count {
    background: var(--gold);
    color: var(--black);
    border-radius: 50%;
    min-width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    font-size: 11px;
    font-weight: 700;
    padding: 0 4px;
}

.header-cart__total { font-size: 13px; }


/* =============================================================
   9. ПОШУК
   ============================================================= */
.search [class^="flaticon-"]::before { font-weight: bold; }

.flaticon-magnifying-glass .search-button::before { display: none; }

#search {
    width: 100%;
    position: absolute;
    z-index: 998;
    top: 100px;
    left: 0;
    display: none;
}

#search form {
    max-width: 600px;
    height: 52px;
    margin: 0 auto;
    position: relative;
}

#search input {
    border: 1px solid #262626;
    background: #fff;
    border-radius: 10px;
    width: 100%;
    height: 52px;
    margin-top: 0;
    padding: 0 60px;
    font-size: 16px;
}

#search span { position: absolute; top: 13px; }
#search .ico { left: 0; color: #2e88c4; }
#search .ico::before { font-weight: bold; }
#search .close { right: 20px; cursor: pointer; }
#search .button_search { right: 20px; visibility: hidden; }

.search_show #menu_catalog { border-bottom: 2px solid #fff; visibility: hidden; }
.search_show #menu_catalog #search { visibility: visible; }

/* AWS / IS пошук */
.is-form-style {
    border-color: rgba(255,255,255,.18) !important;
    border-radius: 6px !important;
    background: rgba(255,255,255,.05) !important;
}

.is-form-style input.is-search-input { color: #fff !important; }
.is-form-style input.is-search-input::placeholder { color: rgba(255,255,255,.38) !important; }

.autocomplete-suggestions {
    background-color: #fff;
    overflow: hidden;
    border: 1px solid #e0e0e0;
    overflow-y: auto;
}

.autocomplete-suggestions .autocomplete-suggestion { cursor: default; }
.autocomplete-suggestions .selected { background: #F0F0F0; }
.autocomplete-suggestions div { padding: 2px 5px; white-space: nowrap; }
.autocomplete-suggestions strong { font-weight: normal; color: #39F; }


/* =============================================================
   10. КОНТЕНТ, ХЛІБНІ КРИХТИ (#path)
   ============================================================= */
#path {
    font-size: 11px;
    font-weight: 500;
    text-align: left;
    padding-left: 20px;
}

#path a {
    border-bottom: 1px solid transparent;
    position: relative;
    color: var(--mid) !important;
    letter-spacing: 1px;
    margin-right: 15px;
}

#path a:hover {
    color: var(--gold) !important;
    border-color: var(--gold) !important;
    text-decoration: none;
}

#path a::after {
    content: '/';
    position: absolute;
    display: block;
    width: 15px;
    top: -1px;
    right: -17px;
    text-align: center;
}

#path span:last-child a::after { display: none; }

.description {
    color: #323232;
    line-height: 22px;
    text-align: left;
    padding-top: 20px;
}

.description .container { text-align: left; }
.description p { margin-bottom: 10px; }

.description .bg {
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    display: block;
    height: 300px;
    width: 100%;
}

.banner-home {
    display: block;
    background: var(--light) !important;
    border-top: 1px solid #ddd !important;
    border-bottom: 1px solid #ddd !important;
    padding: 20px;
    margin: 25px 0;
}


/* =============================================================
   11. КАРТКИ ТОВАРІВ (.products, .product_item)
   ============================================================= */
.products {
    list-style: none;
    margin: 0;
    padding: 0;
    margin-bottom: -40px;
}

.product_item {
    padding: 10px 30px;
    margin-bottom: 30px;
    position: relative;
}

.product_item.not_available { opacity: .2; }
.product_item a:hover { text-decoration: none; }

.products .brand {
    font-size: 7px;
    letter-spacing: 1.5px;
    color: #A6A6A6;
    text-transform: uppercase;
    display: block;
    text-align: left;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.products .name {
    color: #000;
    letter-spacing: 1px;
    font-weight: 700;
    font-size: 13px;
    line-height: 18px;
    display: block;
    text-align: left;
    height: 38px;
    overflow: hidden;
    -webkit-line-clamp: 2;
}

.products .image {
    display: block;
    height: 230px;
    line-height: 230px;
    margin-bottom: 10px;
    vertical-align: middle;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.products .image img {
    transition: all .5s;
    max-height: 100%;
    max-width: 100%;
    width: auto;
    height: auto;
    display: inline-block;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.products .image::before {
    content: "";
    display: none;
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.1);
}

.product_item a:hover .image::before {
    display: block;
    position: absolute;
    z-index: 2;
    background: rgba(218,157,14,.06) !important;
}

.product_item a:hover .image img {
    transform: translateY(-50%) scale(1.1);
}

.products .footer {
    display: block;
    text-align: left;
    margin-top: 5px;
    width: 100%;
    position: relative;
}

.products .price {
    height: 35px;
    display: block;
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 1px;
    color: var(--orange) !important;
}

.products .not_price { height: 80px; display: block; letter-spacing: 1px; }
.products .button { display: none; }

.product_item .remove_favourite {
    position: absolute;
    top: 0; right: 0;
    z-index: 99;
    cursor: pointer;
}

.product_item .remove_favourite::before { color: red; font-size: 36px; }
.product_item .remove_favourite:hover::before { color: #8F0000; }

/* WooCommerce overrides */
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 { font-size: 1.2em !important; text-align: center; }

.woocommerce ul.products li.product .price { font-weight: 800 !important; font-size: 1.1em !important; }

.compare_price {
    color: #556a74;
    font-weight: 100;
    font-size: 11px;
    position: relative;
    display: inline-block;
}

.compare_price::after {
    content: " ";
    display: block;
    width: 100%;
    height: 1px;
    background: #c00;
    position: absolute;
    top: 50%;
    left: 0;
    transform: rotate(-10deg);
    opacity: .9;
}


/* =============================================================
   12. КАТЕГОРІЇ (.main_cat, .subcategories)
   ============================================================= */
.main_cat { margin-top: 20px; }

.main_cat .item a {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    margin-bottom: 20px;
}

.main_cat .item a i {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0; left: 0;
    background-size: cover;
    background-position: 50% 50%;
    transition: transform .3s linear;
}

.main_cat .item a:hover i { transform: scale(1.03); }
.main_cat .item a:hover::after { opacity: .2; }

.main_cat .title {
    text-align: center;
    width: 100%;
    display: block;
    position: relative;
    bottom: 0;
    padding: 10px;
    z-index: 3;
}

.main_cat .title .inner {
    width: 100%;
    display: block;
    color: #292929;
    font-size: 1.2em;
    font-weight: 600;
    line-height: 25px;
    padding-top: 10px;
}

.main_cat div.col-8 a { height: 280px; }
.main_cat div.col-4 a { height: 300px; }

#main_sliner { overflow: hidden; }
#main_sliner .slick-dots { position: absolute; bottom: 10px; display: none; }

/* Підкатегорії */
.subcategories .slider { overflow: hidden; position: relative; }
.subcategories .slider .slick-dots { position: absolute; bottom: 25px; }

.subcategories .slider a {
    display: table;
    position: relative;
    height: 380px;
    margin-bottom: 20px;
    overflow: hidden;
    letter-spacing: 1px;
}

.subcategories .slider a::after {
    content: " ";
    display: block;
    position: absolute;
    width: 100%; height: 100%;
    top: 0;
    background: rgba(117,117,117,.1);
    z-index: 10;
}

.subcategories .slider h3 {
    position: relative;
    z-index: 11;
    text-transform: uppercase;
    font-size: 23px;
    font-weight: 900;
    text-align: center;
    letter-spacing: 2px;
    height: 100%;
    display: table-cell;
    vertical-align: top;
    text-shadow: 1px 1px 1px #FFF;
}

.subcategories .slider h3 span {
    vertical-align: middle;
    margin: 15px;
    padding: 15px;
    display: block;
}

.subcategories .slider .description {
    position: absolute;
    left: 0; bottom: 20px;
    text-align: center;
    font-size: 13px;
    margin: 15px; padding: 15px;
    display: block;
    z-index: 12;
    color: #000;
    background: rgba(255,255,255,.5);
}

.subcategories .slider a i {
    display: block;
    position: absolute;
    width: 100%; height: 100%;
    top: 0; left: 0;
    background-size: cover;
    background-position: 50% 50%;
    transition: transform .3s ease;
}

.subcategories .slider a:hover i { transform: scale(1.1, 1.1); }

.subcategories .category a {
    display: block;
    position: relative;
    width: 100%;
    height: 180px;
    margin-bottom: 20px;
    overflow: hidden;
    letter-spacing: 1px;
    line-height: 22px;
}

.subcategories .category a::after {
    content: " ";
    display: block;
    position: absolute;
    width: 100%; height: 100%;
    background: rgba(117,117,117,.1);
    z-index: 2;
}

.subcategories .category .name {
    float: left;
    display: block;
    width: 180px;
    margin-right: 200px;
    margin-top: 30px;
    margin-left: 30px;
    position: absolute;
    z-index: 10;
    text-align: left;
}

.subcategories .category h3 { font-size: 18px; display: inline; z-index: 2; }
.subcategories .category .count { display: inline; font-size: 11px; font-weight: bold; }

.subcategories .category .image {
    height: 100%;
    line-height: 180px;
    display: block;
    position: absolute;
    right: 0;
    font-size: 0;
    text-align: center;
    z-index: 1;
}

.subcategories .category .image img {
    max-width: 100%; max-height: 100%;
    vertical-align: middle;
    transition: all .5s;
}

.subcategories .category a:hover .image img {
    transform: scale(1.1);
    opacity: .9;
}

.subcategories_menu { margin: 0 0 20px; }

.subcategories_menu h2 {
    text-transform: uppercase;
    font-size: 18px;
    font-weight: 100;
    color: #b1b1b1;
    display: inline-block;
    margin-right: 20px;
}

.subcategories_menu .subcategories_menu__item {
    padding: 12px 16px 11px;
    margin: 4px 2px;
    background: #efefef;
    border-radius: 3px;
    display: inline-block;
    font-size: 15px;
    font-weight: 200;
}

.subcategories_menu .subcategories_menu__item.active {
    background: var(--dark) !important;
    color: var(--white) !important;
}

/* Brand origin */
.subcategories #brand_origin,
#products_list #brand_origin {
    font-size: 11px;
    font-weight: 500;
    line-height: 16px;
    z-index: 1;
    text-align: center;
    letter-spacing: 2px;
    display: inline-block;
    position: relative;
    width: 100%; height: 100%;
    padding: 20px;
    border: 2px solid #F1F1F1;
    transition: all .5s;
}

.subcategories #brand_origin {
    display: table;
    height: 380px;
    margin-bottom: 20px;
}

.subcategories #brand_origin::before,
#products_list #brand_origin::before {
    content: "";
    display: block;
    position: absolute;
    left: 0; top: 0;
    z-index: 2;
    width: 100%; height: 100%;
    background: rgba(230,230,230,.1);
}

.subcategories #brand_origin span,
#products_list #brand_origin span { display: block; }

.subcategories #brand_origin img { margin-bottom: 20px; }
#products_list #brand_origin img { margin-bottom: 20px; width: 80%; }

/* Brands */
#brands a {
    color: #A6A6A6;
    margin-right: 15px;
    line-height: 25px;
    position: relative;
    border-bottom: 1px solid #A6A6A6;
    transition: all .5s;
    white-space: nowrap;
}

#brands a:hover { text-decoration: none; border-bottom: none; }
#brands a.selected { color: #010101; font-weight: 700; border-bottom: 2px solid #010101; }

.catalog_brands a {
    z-index: 1;
    text-align: center;
    display: inline-block;
    position: relative;
    width: 100%; height: 100%;
    padding: 10px;
    margin-bottom: 20px;
    border: 2px solid #F1F1F1;
    transition: all .5s;
}

.catalog_brands .image {
    display: block;
    height: 220px;
    line-height: 220px;
    margin-bottom: 20px;
    padding: 10px;
    vertical-align: middle;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.catalog_brands .image img { display: inline-block; max-width: 100%; height: auto; }
.catalog_brands h3 { height: 50px; display: block; }
.catalog_brands h3 span { font-size: 11px; font-weight: 700; color: #828282; }

/* Main brands */
.main_brands .item { padding-left: 10px; padding-right: 10px; line-height: 180px; text-align: center; overflow: hidden; }

.main_brands .item a {
    display: block;
    position: relative;
    width: 100%;
    height: 180px;
    overflow: hidden;
    background: no-repeat center;
}

.main_brands .item a::after {
    content: " ";
    display: block;
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(117,117,117,.1);
    z-index: 2;
}

.main_brands.white { background: #F1F1F1; }
.main_brands.white .container { margin-bottom: 0; }
.main_brands.white .item a::after { display: none; }
.main_brands.white .item a { background: #fff; }

.main_brands h3 {
    font-size: 14px;
    text-align: center;
    width: 100%;
    height: 180px;
    line-height: 180px;
    display: block;
    margin: 0;
    position: relative !important;
}

.main_brands .image {
    width: 100%;
    height: 180px;
    line-height: 180px;
    display: block;
    position: relative;
}

.main_brands .image img {
    position: relative;
    vertical-align: middle;
    display: inline-block;
    max-width: 100%; max-height: 100%;
    width: auto; height: auto;
}


/* =============================================================
   13. СТОРІНКА ТОВАРУ (#product_card)
   ============================================================= */
#product_card .img { padding-right: 40px; }
#product_card .rigth_block { padding-left: 40px; }

#product_card .to_announce {
    margin-top: 40px;
    margin-bottom: 20px;
    font-size: 13px;
    line-height: 16px;
}

#product_card .variant { display: block; margin-bottom: 25px; }

#product_card .variant button[type=submit] { width: 180px; height: 52px; overflow: hidden; padding: 0; }
#product_card .variant button[type=submit] i { font-size: 18px; }
#product_card .variant button[type=submit] i::before { margin: 0 10px 0 0; }

#product_card .variant .to_favourites {
    background: #fff;
    border: 0;
    padding: 0;
    font-size: 24px;
    bottom: -2px;
    position: relative;
}

#product_card .variant .to_favourites span { display: none; }
#product_card .variant .to_favourites::before { font-size: 24px; margin-left: 10px; font-weight: bold; }
#product_card .variant .to_favourites.isset { color: #2e88c4; }

#product_card .price_title { font-size: 19px; letter-spacing: 3px; color: #BDBDBD; }

#product_card .product_variant .price {
    display: block;
    font-weight: bold;
    font-size: 24px;
    letter-spacing: 1px;
}

#product_card .price_saving { font-size: 11px; letter-spacing: 1.5px; }
#product_card .bonus { display: block; margin-bottom: 10px; }
#product_card .bonus a i::before { margin: 0; font-size: 18px; font-weight: 600; color: #F00; }
#product_card .bonus a { text-decoration: none; }
#product_card .bonus a:hover span { background: transparent; border-bottom: 1px dashed #2e88c4; color: #2e88c4; cursor: pointer; }

#product_card .sku, #product_card .stock { font-size: 12px; color: #A6A6A6; display: block; letter-spacing: 1px; }
#product_card .stock { margin-bottom: 20px; }
#product_card .not_available { display: block; font-weight: bold; font-size: 16px; letter-spacing: 1px; }
#product_card .item { margin-bottom: 15px; }
#product_card .title { color: #000; font-size: 13px; margin-bottom: 5px; }
#product_card .title i::before { margin: 0 3px 0 0; font-size: 18px; vertical-align: middle; }
#product_card .text { color: #A6A6A6; line-height: 14px; font-size: 11px; }
#product_card .text ul { margin-left: 30px; }

#product_card #brand_origin {
    font-size: 11px;
    line-height: normal;
    z-index: 1;
    color: #A6A6A6;
    margin-top: 40px;
    text-align: center;
    letter-spacing: 1.5px;
    display: block;
}

#product_card #brand_origin span { display: block; }
#product_card #brand_origin img { margin-top: 20px; width: 50%; }
#product_card .image { z-index: 3; }
#product_card .description { float: none; z-index: 2; }
#product_card .description .inner { display: table; padding-top: 20px; }

#product_card .product-img-nav { margin-top: -5px; margin-right: 5px; margin-left: 0; }
#product_card .product-img-nav span { padding: 5px; text-align: center; }
#product_card .product-img-nav span i {
    position: relative; cursor: pointer;
    text-align: center; vertical-align: middle;
    display: inline-block;
    height: 105px; line-height: 105px;
}

#product_card .product-img-nav span i::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%; height: 100%;
    background: rgba(196,196,196,.2);
    z-index: 1;
    transition: all .5s;
}

#product_card .product-img-nav span.slick-current i::before { box-shadow: inset 0 0 0 2px rgba(0,0,0,.5); }
#product_card .product-img-nav span:hover i::before { background: rgba(0,0,0,.1); }

#product_card .product-img-nav span img {
    vertical-align: middle;
    max-height: 105px;
    display: inline-block;
    max-width: 100%;
    width: auto; height: auto;
}

#product_card .features { list-style: none; width: 100%; display: block; font-size: 11px; }
#product_card .features li { padding: 6px 0; overflow: hidden; }
#product_card .features label { font-style: normal; display: block; width: 50%; float: left; position: relative; color: #A6A6A6; }
#product_card .features span { background: #fff; display: inline-block; position: relative; }
#product_card .features label::before { content: ''; position: absolute; bottom: 1px; width: 100%; left: 20px; border-top: 1px dotted #999; }
#product_card .features span.value { float: left; display: block; width: 50%; }
#product_card .features a { text-decoration: underline; }
#product_card .features img { max-width: 80px; max-height: 80px; margin: 4px 0; }


/* =============================================================
   14. КОШИК (#cart, .purchase)
   ============================================================= */
#cart { font-size: 16px; }

#purchases, #cart_form {
    overflow: hidden;
    display: block;
    transition: none;
}

.purchase {
    margin: 5px 0;
    padding: 5px 0;
    display: table;
    width: 100%;
    border-bottom: 1px solid #F2F2F2;
}

.purchase .image { display: table-cell; text-align: center; width: 140px; height: 120px; }
.purchase .image img { display: inline-block; max-width: 100%; height: auto; }

.purchase .right_block {
    display: table-cell;
    padding-left: 20px;
    width: calc(100% - 140px);
    vertical-align: middle;
}

.purchase .right_block .price { font-weight: 700; padding-top: 5px; padding-bottom: 10px; }
.purchase .right_block .remove a { text-decoration: none; padding: 0 10px; }

#cart .bonus label { background: transparent; border-bottom: 1px dashed #2e88c4; color: #2e88c4; cursor: pointer; }

.total { font-size: 22px; }
.total span { font-size: 13px; font-weight: 700; }


.choice { list-style: none; margin: 0; padding: 0; }
.choice li { margin-bottom: 20px; }
.choice .title { font-size: 16px; font-weight: 700; }
.choice .title label { cursor: pointer; }
.choice .description { font-size: 13px; margin-top: 10px; margin-left: 20px; }

#orders_history { list-style: none; margin: 0; padding: 0; }
#orders_history li { font-size: 16px; padding: 4px 0; }

.order_info td { padding: 6px; font-size: 16px; }
.order_info tr td:first-child { color: #A6A6A6; }


/* =============================================================
   15. ФУТЕР (#footer)
   ============================================================= */
#footer {
    width: 100%;
    background: var(--black) !important;
    color: rgba(255,255,255,.68) !important;
    border-top: 3px solid var(--gold);
}

#footer .container { padding: 0; }

#footer .container a { font-size: 20px; color: rgba(255,255,255,.68) !important; transition: color .2s; }
#footer .container a:hover { color: var(--gold) !important; text-decoration: none; }

#footer .hm a { display: block; margin-bottom: 10px; }
#footer .hm a span { font-size: 27px; font-weight: 500; display: block; }
#footer .copyright { font-size: 10px; color: rgba(255,255,255,.35) !important; }
#footer .phone { font-size: 15px; display: block; font-weight: 700; margin-bottom: 10px; color: var(--white) !important; }
#footer .menu a { margin: 0 5px; }

@media (max-width: 1024px) {
    #footer .top { display: block; width: 100%; margin: 30px 0 10px; }
    #footer .company { display: block; float: none; width: 100%; margin: 20px 0 30px; }
    #footer .phone { font-size: 27px !important; font-weight: 500 !important; }
}

@media (max-width: 767px) {
    #footer .menu a { display: inline-block; font-size: 13px; padding: 7px 10px 5px; border-radius: 4px; }
}


/* =============================================================
   16. СЛАЙДЕР (slick)
   ============================================================= */
.slick-slide { text-align: center; }
.slick-slide img { display: inline-block !important; vertical-align: middle; margin: 0 auto; }

.slick-prev:before, .slick-next:before {
    content: '\f108' !important;
    font-family: 'Flaticon' !important;
    font-size: 20px;
    opacity: 1 !important;
    color: #000 !important;
    font-weight: bold;
}

.slick-prev:before { content: '\f109' !important; }
.slick-prev:hover, .slick-next:hover { opacity: .5 !important; }
.slick-dotted.slick-slider { margin-bottom: 0; }

.slick-dots { position: relative; bottom: 0; padding: 20px 0 0 0; text-align: center; }
.slick-dots li { margin: 0 2px; }
.slick-dots li button:before { color: #636363; font-size: 14px; opacity: .25; }
.subcategories .slider .slick-dots li.slick-active button:before { opacity: .75; color: #2e88c4; }

#main_brands_slider { padding-left: 0; padding-right: 0; }

@media (min-width: 768px) {
    .product-img-slider .slick-dots { display: none !important; }
}


/* =============================================================
   17. ПОПАПИ
   ============================================================= */
.mfp-content figure { background: #fff; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
    color: #fff;
    right: -40px;
    top: 50px;
    text-align: right;
    padding-right: 0;
    width: 30px; height: 30px;
    font-size: 45px;
}

.popup_content {
    padding: 10px;
    background: #fff;
    width: 460px;
    border: 1px solid rgba(0,0,0,.04);
    border-top: 2px solid rgba(0,0,0,.04);
    margin-top: 25px;
    top: 0; right: -10px;
    position: absolute;
    z-index: 99;
    opacity: .5;
    transition: all .08s;
    visibility: hidden;
}

.popup_content::before {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    content: '';
    border-radius: .1px;
    box-shadow: 0 10px 20px -5px rgba(0,0,0,.3);
    background: #fff;
}

.popup_content.show { visibility: visible; opacity: 1; transition: all .2s; }

.black-popup { width: 500px; background: #000; padding: 40px; margin: 0 auto; border-radius: 1px; }

.white-popup { width: 500px; background: #fff; padding: 20px 40px; margin: 0 auto; border-radius: 1px; }
.white-popup .title { font-size: 28px; font-weight: 700; }
.white-popup .result { margin: 10px 0; color: red; }

.user_form_footer { text-align: center; margin: 20px 0; }
.user_form_footer a { font-size: 17px; margin: 15px; }

.user-popup {
    display: inline-block;
    position: absolute;
    background: rgba(0,0,0,.65);
    color: #fff;
    padding: 15px;
    top: 85px;
    left: 50%;
    z-index: 99;
    min-width: 240px;
    margin-left: -120px;
    font-size: 12px;
    opacity: .5;
    transition: all .2s;
    visibility: hidden;
}

.user-popup a { color: #fff; }
.user-popup.show { visibility: visible; top: 55px; opacity: 1; transition: all .3s; }

.user-popup:after {
    content: '';
    display: block;
    position: absolute;
    left: 50%; top: 0;
    margin-top: -20px; margin-left: -8px;
    width: 0; height: 0;
    border: 10px solid transparent;
    border-bottom-color: rgba(0,0,0,.65);
}

.user-popup .close::before { font-size: 11px; margin: 0 0 0 10px; cursor: pointer; }


/* =============================================================
   18. РЕЙТИНГ (.rating)
   ============================================================= */
.rating span { line-height: 25px; font-size: 14px; display: inline-block; vertical-align: top; }
.rating span b { font-weight: bold !important; }
.rating .stars { display: inline-block; width: 140px; height: 25px; background: url(../img/rating-2.png) 1px 1px no-repeat; vertical-align: top; }
.rating .stars u { display: inline-block; width: 140px; height: 25px; background: url(../img/rating-1.png) left top no-repeat; }
.rating .stars i { cursor: pointer !important; display: inline-block; width: 28px; height: 25px; background: url(../img/rating-1.png) 28px 0 no-repeat; }
.rating-1 i:nth-of-type(-n+1), .rating-2 i:nth-of-type(-n+2), .rating-3 i:nth-of-type(-n+3), .rating-4 i:nth-of-type(-n+4), .rating-5 i:nth-of-type(-n+5) { background-position: center; }
.rating .label { font-weight: bold; font-size: 14px; color: #333; margin-right: 15px; bottom: -2px; }

#list_comments { overflow: hidden; height: auto; }
#list_comments ul { margin: 0; }
#list_comments li { background: #fff; text-align: left; border: 1px solid #EEE; margin-bottom: 15px; padding: 15px; }
#list_comments .name { font-size: 15px; color: #333; font-weight: 600; margin-right: 10px; }
#list_comments .date { font-size: 12px; color: #666; }
#list_comments .rating { display: inline-block; margin-right: 10px; }
#list_comments .rating .stars { width: 84px; height: 16px; background: url(../img/rating-small-2.png) left top no-repeat; vertical-align: top; }
#list_comments .rating .stars u { width: 84px; height: 16px; background: #fff url(../img/rating-small-1.png) left top no-repeat; display: block; }
#list_comments .text { color: #262626 !important; line-height: 18px !important; margin-top: 10px; font-size: 13px !important; }


/* =============================================================
   19. ПАГІНАЦІЯ (.pagination)
   ============================================================= */
.pagination { margin-top: 40px; margin-bottom: 40px; overflow: hidden; text-align: center; }
.pagination_top .pagination { margin-top: 0; }

.pagination a {
    font-size: 16px;
    display: inline-block;
    text-align: center;
    min-width: 38px;
    line-height: 38px;
    margin: 0 8px;
    border-radius: 50%;
    vertical-align: top;
}

.pagination a.selected,
.pagination a.selected:hover {
    box-shadow: inset 0 0 0 2px var(--gold) !important;
    color: var(--gold) !important;
    background: #fff !important;
}

.pagination a:hover { background-color: #f8f8f8; }
.pagination a.next_page_link, .pagination a.prev_page_link { border: 0; background: 0 0; }


/* =============================================================
   20. УТИЛІТИ
   ============================================================= */
.w100 { width: 100%; }
.bg_fff { background: #fff; }
.grey_bg { background: #F1F1F1; }
.grey_label { color: #A6A6A6; display: block; letter-spacing: 1px; font-size: 14px; }
.text { color: #323232; line-height: 22px; }
.text_left { text-align: left; }
.text_center, .center { display: block; text-align: center; }
.briefing { color: #A6A6A6; display: block; text-align: center; font-size: 14px; }
.container { text-align: center; }

.space_block_10 { margin-top: 10px; margin-bottom: 10px; }
.space_block_20 { margin-top: 20px; margin-bottom: 20px; }
.space_block_30 { margin-top: 30px; margin-bottom: 30px; }
.space_block_40 { margin-top: 40px; margin-bottom: 40px; }
.space_block_80 { margin-top: 80px; margin-bottom: 80px; }
.space_top_10 { padding-top: 10px; }
.space_top_20 { padding-top: 20px; }
.space_top_40 { padding-top: 40px; }
.space_top_50 { padding-top: 50px; }
.space_top_60 { padding-top: 60px; }
.space_bottom_10 { padding-bottom: 10px; }
.space_bottom_20 { padding-bottom: 20px; }
.space_bottom_30 { padding-bottom: 30px; }
.space_bottom_40 { padding-bottom: 40px; }
.space_bottom_50 { padding-bottom: 50px; }
.space_bottom_60 { padding-bottom: 60px; }

@media (min-width: 992px) {
    .padding-md-20 { padding: 20px; }
    .pullup-md-80 { margin-top: -80px; }
    .pullup-md-20 { margin-top: -20px; }
}

@media (min-width: 1200px) {
    .col-lg-3 { padding-top: 40px; }
    .gift1 { display: flex; justify-content: flex-end; }
    .gift3 { text-align: left; }
}

@media (max-width: 768px) {
    .col-xs-6 { padding-top: 10px; }
    .gift1 { display: flex; justify-content: center; }
    .gift3 { text-align: center; }
    .main_cat #main_sliner .title { top: 30%; }


.space_block_60 ul.products .product_item {
    width: 100%;
    flex: 0 0 100%;
    max-width: 100%;
   

    }  
    
    
    
}

@media (max-width: 767px) {
    #product_card h1 { font-size: 16px !important; }
}

/* Advantages / gift */
.advantages { list-style: none; text-align: center; display: block; margin: 0; }
.advantages li { color: #000; font-size: 13px; }
.advantages li span { display: block; vertical-align: middle; margin-top: 10px; min-height: 24px; }

.advantages li i,
.gift li i {
    border-radius: 50%;
    border: 2px solid var(--gold) !important;
    color: var(--gold) !important;
    background: #fff;
    display: inline-block;
    text-align: center;
    width: 50px; height: 50px;
    line-height: 45px;
    vertical-align: middle;
}

.advantages li i::before,
.gift li i::before { font-size: 26px; padding: 0; margin: 0 0 0 2px; display: inline-block; }

.advantages-banner {
    display: block;
    background: var(--light) !important;
    border-top: 1px solid #ddd !important;
    border-bottom: 1px solid #ddd !important;
    padding: 20px;
}

.gift { display: flex; flex-wrap: wrap; align-items: center; list-style: none; text-align: center; margin-bottom: 0; }
.gift li img { width: 60px; }
.gift2 { display: grid; }
.gift-head { font-size: 28px; font-weight: 700; }
.gift-contact { display: flex; flex-wrap: nowrap; flex-direction: column; align-items: center; margin-top: 20px; }
.gift-contact img { width: 60px; }

@media (max-width: 960px) {
    .gift { flex-direction: column; justify-content: space-around; padding: 0; }
    .foot-align { width: 100%; }
}

.foot-align { width: 33%; }

#path a { color: var(--mid) !important; }
#path a:hover { color: var(--gold) !important; border-color: var(--gold) !important; }

#bonus_info .title {
    cursor: pointer;
    position: absolute;
    z-index: 9999;
    left: -100px; top: 70px;
    font-size: 42px; font-weight: 700;
    text-transform: uppercase;
    transform: rotate(90deg);
}

#bonus_info .text { text-align: center; padding-left: 40px; }
#bonus_info .text b { font-size: 16px; }
#bonus_info .text p { margin-bottom: 5px; }
#bonus_info .text p.black { background: #000; color: #fff; padding: 10px; font-weight: 200; }
#bonus_info .text p.small { font-size: 11px; }

#r_head_menu { text-wrap: nowrap; }


/* =============================================================
   21. СТОРОННІ КОМПОНЕНТИ
   ============================================================= */
.glsr-summary {
    align-items: center; display: flex; flex-wrap: wrap;
    font-size: var(--glsr-summary-text);
    gap: var(--glsr-gap-sm);
    max-width: var(--glsr-max-w);
    position: relative; width: 100%;
    justify-content: center;
}

.glsr-default form.glsr-form label.glsr-label { display: none; float: none; hyphens: none; margin: 0; }
.glsr-default form.glsr-form { padding: 0.95em 0.98em; }
.glsr-default .glsr-review { padding: 0.95em 0.98em; }
.glsr-review-title { display: none; }
#site-reviews-title-glsr_568df58e { display: none; }

.jq-selectbox__select { display: none; }


/* =============================================================
   22. ДОДАТКОВІ СТИЛІ ПЛАГІНІВ І СТОРІНОК
   ============================================================= */

/* AWS пошук */
.space_block_40 .button { font-size: 12px !important; }

.aws-container .aws-show-clear .aws-search-field {
    margin-right: 20px !important;
    border-radius: 10px !important;
}

.aws-container .aws-search-field { max-width: 80% !important; }
.aws-wrapper { height: 42px !important; }
.aws-search-btn { height: 42px !important; }
.aws-loader { display: none !important; }
.aws-search-clear { display: none !important; }

.aws-container .aws-search-form .aws-search-clear span {
    top: 35% !important;
    margin-right: 20px !important;
}

/* Контейнери */
.t-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; box-sizing: border-box; }
.t-col_8 { max-width: 760px; margin: 0 auto; }

/* FAQ (t585) */
.t585__trigger-button {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 0;
    background: transparent;
    border: 0;
    cursor: pointer;
    text-align: left;
}

.t585__title { margin-right: 18px; color: #222; line-height: 1.25; font-size: 20px; font-weight: 600; }
.t585__content { padding: 0 0 18px 0; }
.t585__text { color: #222; font-size: 14px; line-height: 1.6; }
.t585__icon { min-width: 24px; min-height: 24px; display: inline-flex; align-items: center; justify-content: center; }
.t585__icon-hover, .t585__circle { display: none !important; }
.t585__icon svg path { stroke: #222 !important; }
.tks-faq-vline { opacity: 1 !important; transform: rotate(0deg) !important; transition: opacity .15s ease; }
.t585__item_open .tks-faq-vline { opacity: 0 !important; }
.t585__trigger-button:hover .tks-faq-vline { opacity: inherit !important; transform: inherit !important; }

@media (max-width: 640px) {
    .t585__title { font-size: 18px; }
}

/* Переваги (t508) */
.t508__container { list-style: none; padding: 0; margin: 40px auto; }

.t508__item {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 18px 0;
    border-bottom: 1px solid #eee;
}

.t508__icon {
    flex: 0 0 22px;
    width: 22px; height: 22px;
    margin-top: 2px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M20 6L9 17L4 12' stroke='%232d4a7e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.t508__text { color: #222; font-size: 16px; line-height: 1.5; font-weight: 500; text-align: left; }

@media (max-width: 640px) {
    .t508__item { gap: 14px; }
    .t508__text { font-size: 15px; }
}

/* Варіант товару */
.product_variant_new { background: #fff; padding: 30px; border-radius: 12px; box-shadow: 0 2px 12px rgba(0,0,0,.08); }
.variant_selector { margin-bottom: 25px; }
.variant_selector label { display: block; font-size: 16px; font-weight: 600; color: #2d2d2d; margin-bottom: 10px; }

.variant_selector select {
    width: 100%; padding: 12px 16px; font-size: 16px;
    border: 2px solid #e0e0e0; border-radius: 8px;
    background: #fff; cursor: pointer; transition: all .3s;
}

.variant_selector select:hover { border-color: #FF6A0F; }
.variant_selector select:focus { outline: none; border-color: #FF6A0F; box-shadow: 0 0 0 3px rgba(255,106,15,.1); }

.price_display {
    text-align: center; margin: 30px 0; padding: 25px;
    background: linear-gradient(135deg, #fff5f0 0%, #ffe8dc 100%);
    border-radius: 12px; border: 2px solid #FFE0D0;
}

.price_row { display: flex; justify-content: center; align-items: center; gap: 30px; flex-wrap: wrap; }
.price_old_new { text-align: center; }
.price_label { font-size: 13px; color: #666; margin-bottom: 8px; text-transform: uppercase; letter-spacing: .5px; }
.price_old_value { font-size: 24px; color: #999; text-decoration: line-through; font-weight: 500; }
.price_current_value { font-size: 42px; color: #FF6A0F; font-weight: 700; line-height: 1; }
.price_currency { font-size: 24px; margin-left: 5px; }
.discount_badge { background: #FF6A0F; color: #fff; padding: 8px 16px; border-radius: 20px; font-size: 14px; font-weight: 600; display: inline-block; margin-top: 12px; }

.stock_status { display: inline-flex; align-items: center; gap: 8px; padding: 10px 20px; background: #f0f9f4; border: 1px solid #c3e6cd; border-radius: 8px; margin: 20px 0; font-size: 15px; color: #155724; }
.stock_status.out_of_stock { background: #fff0f0; border-color: #ffcdd2; color: #c62828; }
.stock_status_icon { width: 8px; height: 8px; border-radius: 50%; background: #28a745; }
.stock_status.out_of_stock .stock_status_icon { background: #c62828; }

.order_form_title { font-size: 22px; font-weight: 600; color: #2d2d2d; margin-bottom: 20px; text-align: center; }
.variant_image_preview { max-width: 100%; border-radius: 8px; margin-bottom: 20px; transition: opacity .3s; }

.single_add_to_cart_button {
    width: 100%; padding: 15px 30px; font-size: 18px; font-weight: 600;
    border: none; border-radius: 8px; cursor: pointer; transition: all .3s;
    background: #2975c0; color: #fff;
}

.single_add_to_cart_button:hover:not(:disabled) { background: #1e5a99; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(41,117,192,.3); }
.single_add_to_cart_button:disabled { background: #ccc; cursor: not-allowed; opacity: .6; }
.quick-order-btn { width: 100%; }

.variant_selector, .variant_selector select { display: block !important; visibility: visible !important; opacity: 1 !important; }

#variant_selector_wrapper, #product_variation, div.variant_selector, select[name="variation_id"] {
    display: block !important; visibility: visible !important; opacity: 1 !important;
    height: auto !important; max-height: 100% !important; overflow: visible !important;
    position: relative !important; left: 0 !important; top: 0 !important; transform: none !important;
    clip: auto !important; clip-path: none !important;
    margin: 0 0 15px 0 !important; padding: 8px !important; width: 100% !important;
    border: 2px solid #e0e0e0 !important; border-radius: 8px !important;
    background: #fff !important; font-size: 16px !important; cursor: pointer !important;
}

.select2-container, .chosen-container, .nice-select, .selectric-wrapper, .custom-select-wrapper { display: none !important; }
select#product_variation { -webkit-appearance: menulist !important; appearance: menulist !important; }

.variant_selector[style*="display: none"],
.variant_selector[style*="display:none"],
#product_variation[style*="display: none"],
#product_variation[style*="display:none"] { display: block !important; }

/* Галерея товару */
.product-images-slider { position: relative; width: 100%; max-width: 100%; }
.product-images-slider .product_gallery_item { display: block; line-height: 0; }

.product-images-slider .product_gallery_item img {
    max-width: 100% !important;
    width: auto !important;
    max-height: 500px !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
    border-radius: 8px;
    cursor: pointer;
}

.product_gallery_item:not(:first-child) { display: none !important; }

.product-images-nav { margin-bottom: 20px; }

.product-images-nav img {
    width: 100%; height: auto;
    border-radius: 4px; cursor: pointer;
    border: 2px solid transparent;
    transition: all .3s;
    margin-bottom: 10px;
}

.product-images-nav img:hover,
.product-images-nav img.active { border-color: #FF6A0F; opacity: .8; }

.images { padding-left: 15px; padding-right: 15px; }


/* =============================================================
   ТОЧКОВІ ПРАВКИ — картка товару
   ============================================================= */

.product_item .form-more { display: block !important; }

.product_item .price {
    font-size: 14px !important;
    height: auto !important;
    margin-bottom: 6px !important;
}

.product_item .more {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

#product_card .advantages-banner {
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative !important;
}

.product_body .row.space_block_20.space_top_20 {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
}

.product-images-wrapper {
    display: flex !important;
    flex-direction: column !important;
    float: none !important;
}

.product-main-image-container { order: 1; }

.product-thumbnails-container {
    order: 2;
    margin-top: 12px !important;
}

.rigth_block { float: none !important; }

.pravilaitem { display: inline-block; padding: 7px 11px; border: 1px solid #dedede; border-radius: 3px; margin-right: 4px; margin-bottom: 8px; cursor: pointer; transition: all .3s; line-height: 1; }
.pravilaitem:hover { background-color: #ababab; color: #fff; border: 1px solid; }

.menu--cats { text-transform: uppercase; }


/* =============================================================
   ТОВАРИ — 1 КОЛОНКА НА МОБІЛЬНОМУ
   ============================================================= */
.products .image { height: 160px !important; line-height: 160px !important; }
.products .name { font-size: 12px !important; height: auto !important; }
.products .price { font-size: 14px !important; height: auto !important; }

@media (max-width: 768px) {

    .woocommerce ul.products,
    .woocommerce ul.products.columns-2,
    .woocommerce ul.products.columns-3,
    .woocommerce ul.products.columns-4,
    .woocommerce ul.products.columns-5 {
        display: flex !important;
        flex-wrap: wrap !important;
    }

    .woocommerce ul.products li.product,
    .woocommerce ul.products.columns-2 li.product,
    .woocommerce ul.products.columns-3 li.product,
    .woocommerce ul.products.columns-4 li.product,
    .woocommerce ul.products.columns-5 li.product {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        flex: 0 0 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

#product_sku_display { margin-bottom: 10px; }




/* =========================================
   HEADER TOP MENU — выпадающее (desktop)
   НЕ затрагивает #menu_catalog
   ========================================= */

@media (min-width: 992px) {

  /* родитель */
  #r_head_menu .menu > li {
    position: relative;
  }

  /* скрываем подменю */
  #r_head_menu .menu > li > .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    background: #fff;
    padding: 10px 0;
    list-style: none;
    margin: 0;

    display: none;
    z-index: 3000;

    box-shadow: 0 10px 25px rgba(0,0,0,.15);
    border-radius: 4px;
  }

  /* элементы подменю */
  #r_head_menu .sub-menu li {
    display: block;
  }

  #r_head_menu .sub-menu li a {
    display: block;
    padding: 8px 18px;
    font-size: 14px;
    color: #333 !important;
    white-space: nowrap;
  }

  #r_head_menu .sub-menu li a:hover {
    background: #f5f5f5;
  }

  /* показываем при hover */
  #r_head_menu .menu > li:hover > .sub-menu {
    display: block;
  }
}

.np-shipping-title {
    display: none;
  }
  
.ship-to-different-address {
    display: none;
  }
  

