:root {
    --main-blue-color: #00bcff;
    --main-orange-color: #F05500;
    --second-orange-color: #FF7F38;
    --middle-grey-color: #8b9095;
    --light-grey-color: #f6f7f9;
    --dark-grey-color: #5c6670;
    --dark-blue: #005f81;
    --black-to-main-blue: invert(56%) sepia(14%) saturate(5238%) hue-rotate(163deg) brightness(101%) contrast(109%);
}

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

html {
    overflow: -moz-scrollbars-vertical;
    font: 400 10px Helvetica, Arial, sans-serif;
    color: #000;
}
body {
    min-width: 480px;
    min-width: auto !important;
}
.toggler {
	display:block;
    width: 100%;
    position:absolute;
    top:0;left:0;
    cursor: pointer;
    opacity: 0;
}

#right-nav {
    position: fixed;
    top: 0;
    width:90vw;
    display:flex;
    flex-flow:column nowrap;
    height: 100%;
    right: 0;
    content: " ";
    background-color:#FFF;
    box-sizing:border-box;
    z-index: 250;
    overflow-x: hidden;
    transition: 0.2s;
    box-shadow: inset 4px 0 0px 0px var(--dark-grey-color);
    max-width: 380px;
    overflow-y: scroll;
}
#right-nav li {
    list-style: none;
    position: relative;
}
#right-nav a{ color: var(--dark-grey-color);   }
#right-nav i{ padding:1rem;  }
#right-nav > div {margin: 0 0 .6rem .4rem;}
#close-right-nav {
    width: 50px;
    height: 50px;
    line-height: 50px;
    display: inline-block;
    cursor:pointer;
    position: absolute;
    top:0;
    left:0;
    font-size: 36px;
    background-color: var(--dark-grey-color);
    text-align: center;
    border: 1px var(--dark-grey-color) solid;
}
#right-nav .account {
    display: inline-block;
    margin-left: 70px;
    width: calc(100% - 80px);
}
#right-nav .lang-switch { float: right; }
#right-nav .account a,
#right-nav .lang-switch a {
    height:50px;
    display: inline-block;
    font-size: 16px;
    text-align: center;
    text-decoration: none;
    line-height: 50px;
}
#right-nav .lang-switch a {
    width: 50px;
    border: 1px #f0f0f0 solid;
    text-transform: uppercase;
}

#right-nav .lang-switch > a.active {
    font-weight:bold;
}
#right-nav .search {
    padding: 0 1rem;
    margin-top:.6rem;
    position: relative;
}
#right-nav .search form {
    position:relative;
}
#right-nav .search input[type='text'] {
    line-height: 3rem;
    font-size: 2.2rem;
    width: 100%;
    padding: .2rem 48px .2rem .7rem;
}
#right-nav .search button[type='submit']{
    position: absolute;
    top:0;
    right:0;
    border: none;
    background: none;
    height: 100%;
}
#right-nav .infos,
#right-nav .store-info {
    font-size: 1.6rem;
    margin-top:.8rem;
}
#right-nav .infos i {
    width:3.8rem;
    padding:.8rem 1rem;
}
#right-nav .store-info {
    display: grid;
    width: 100%;
    grid-template-columns: 50fr 50fr;
    padding: 0 1rem;
    grid-gap: .5rem;
}
#right-nav .store-info a {
    background-color: var(--middle-grey-color);
    color: #fff;
    font-size: 1.3rem;
    padding-right: .8rem;
    text-decoration:none;
    height: 100%;
    display: inline-block;
    width: 100%;
    max-height: 33px;
}
#right-nav .store-info a:hover {
    background-color: var(--main-blue-color);
}
#right-nav-menu a,
#right-nav-menu span {
    display:inline-block;
    line-height:3rem;
    font-size:1.6rem;
    padding:.3rem 1rem;
    width: 100%;
}

#right-nav-menu span,
#right-nav .specials-category a,
#right-nav .brands-category a {
    text-decoration:none;
    font-weight:bold;
}
#right-nav-menu i {
    position:absolute;
    top:0;
    right:0;
    height:36px;
    width: 36px;
    text-align: center;
    cursor:pointer;
    transition:.2s;
}
#right-nav .subcategories {
    max-height:0;
    display:none;
    transition:.3s all linear, .4s all linear;
}
#right-nav .subcategories a {
    padding-left:3rem;
}
#right-nav-menu > ul ul {
    max-height:0;
    display:none;
    transition:.3s all linear, .3s all linear;
}

#right-nav .toggler {
    height:36px;
    z-index: 20;
}
#right-nav .toggler:checked + i {
    transform: rotate(180deg);
}
#right-nav .toggler:checked + i + ul {
    max-height: 9999px;
    display:block;
}

#overlay {
    display: none;
    background: #000;
    opacity: .4;
    position:fixed;
    width: 100%;
    height: 100%;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
meta {display: none !important;}
h1 {
    color: #333;
    margin: 1rem;
    font-size: 2.2rem;
    font-weight:normal;
    text-shadow: 0 0 1px rgba(0, 0, 0, .01);
}
h2 {
    color: #000;
    font-size: 1.6rem;
    margin: .9rem 0 .8rem 0;
}
p {
    margin: 1rem 0;
    font-size: 1.4rem;
    line-height: 1.9rem;
}
a, a:visited, a b {
    color: var(--main-blue-color);
    text-decoration: underline;
    cursor: pointer;
}
a:hover {
    text-decoration: none;
}
img {
    max-width: 100%; 
    height: auto;
}
a img {
    border: none;
}
ul, ol, form {
    margin:0;
    padding:0;
}
li {
    list-style-position: outside;
    color: #526167;
}
ul > li {
    list-style-position: inside;
    list-style-image: url(data:image/gif;base64,R0lGODlhBgAHAIABAGnABf///yH5BAEAAAEALAAAAAAGAAcAAAILhINhkHq5UHSMpgIAOw==);
}
form {
    position: relative;
}
input[type='text'], input[type='password'], input[type='tel'], input[type='email'], textarea {
    background: #FDFDFD;
    border: 1px solid #CCCCCC;
    padding: 3px;
    margin-left: 0px;
    margin-right: 0px;
    font-size: 1.4rem;
}
input[type="text"]:focus, input[type="password"]:focus, input[type="tel"]:focus, input[type="email"]:focus, textarea:focus, select:focus, input[type="file"]:focus {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    outline: none;
}
input[type=number] {
    font-weight:bold;
    text-align: center;
    min-width: 4rem;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
   opacity: 1;
}
button, .button, label {
    cursor:pointer;
}
button, input[type="submit"] {
    background-color: var(--main-blue-color);
    color: #fff;
    border: none;
    padding: 0.6rem 1.2rem;
    /* Firefox Fix */
    font: 700 13px Helvetica, Arial, sans-serif;
}
button:hover, input[type="submit"]:hover {
    opacity: 0.8;
}

select {
    background: #F8F8F8;
    border: 1px solid #CCCCCC;
    padding: 2px;
}


/* ------------------------------ layout ------------------------------ */

#container {
    width: 100%;
    text-align: left;
    /* max-width: 1300px; */
}
#content {
    min-height: 300px;
    margin-bottom: 15px;
    display: inline-block;
    width: 100%;
    padding:.5rem;
}
aside.column-right {
    float: right;
    max-width: 300px;
    margin: 0 0 1rem 0.5rem
}
aside.column-left {
    float: left;
    max-width: 150px;
    width: 22%;
    margin-right: 15px;
}
main {
    /* width: 100%; */
    font-size: 1.3rem;
    margin: 0 auto;
    max-width: 1300px;
}
@media (max-width: 680px) {
    #container, main {
        width: 100%;
        left: 0;
        position: relative;
    }
}
footer {
    clear: both;
}

/* ------------------------------ header ------------------------------ */
header {
    /* height: auto; */
    width: 100%;
    /* font-size: 1.2rem; */
    display: flex;
    flex-flow: column nowrap;
    background:white;
    /* z-index:111; */
    max-width: 1300px;
    margin: 0 auto;
}
#logo {
    width: auto;
    height: auto;
    margin: 0.6rem;
    min-height: 60px;
    max-height: 50px;
}
.logo-container {
    flex-grow: 10;
    text-align: center;
}
@media (max-width: 980px) {
    .logo-container {
        min-height:50px;
        flex-grow:5;
    }
}
@media (max-width: 480px) {
    .logo-container {
        min-height:40px;
        flex-grow:3;
    }
}
header a {
    text-decoration: none;
}
header button,
header a.button {
    height: 34px;
    background: var(--main-blue-color);
    color: white;
    border: none;
    overflow: hidden;
}
header .mainrow {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-around;
    align-items: center;
    padding: 1rem 0 0 0;
    font-size: 1.7rem;
    width: 100%;
}
#phones {
    display: flex;
    flex-flow: column nowrap;
    margin: 0 1rem;
    flex-grow: 4;
    font-size: 1.7rem;
    line-height: 2.4rem;
    width: auto;
}

#phones a{
    display: inline-block;
    white-space: nowrap;
    text-align: center;
    color: #000;
    font-weight: bold;
    padding: 0.1rem 0;
}
/* --------- search area ----------- */
header .search {
    background: #8b9095;
    height: fit-content;
    display: inline-block;
    white-space: nowrap;
    margin: .5rem;
    flex-grow: 10;
}
header .search form{display: inline-flex;width: 100%;padding: .5rem;align-items: center;align-content: flex-start;}
header .search input {
    color: #333;
    border: none;
    padding: .4rem;
    line-height: 2.6rem;
    min-width: 12rem;
    width: calc(100% - 4rem);
    font-size: 1.7rem;
    display: inline;
    flex-grow: 10;
}
header .search-submit {
    background-color: initial;
    display: inline-block;
    width: 4rem;
    padding: .6rem 0 0 .2rem;
    font-size: 1.7rem;
    line-height: 2.5rem;
}
/* --------- EOF: search area ------- */

#accbuttons {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-around;
    font-size: 1.6rem;
}
#cartbutton, #accountbutton, #wishlistbutton, #open-right-nav {
    margin: 0 .5rem;
    min-width: 3.4rem;
    padding: .2rem;
    height: calc(3.4rem + .4rem);
    display: flex;
    flex-flow: row nowrap;
}
#accbuttons i{
    line-height:3.4rem;
    display: inline-block;
    font-size: 2rem;
}
#cartbutton span,
#accountbutton span {
    padding: 0 .7rem;
    font-size: 1.5rem;
    line-height: 34px;
    height: 34px;
}

button > i,
button > span {
    display: inline-block;
}
button i {
    content: "";
    display: inline-block;
    width: 34px;
    height: 34px;
    line-height: 34px;
}
@media (max-width: 980px) {
    #cartbutton, #accountbutton, #wishlistbutton, #open-right-nav {
        height: 42px;
        width: 42px;
        margin: 0 .2rem;
        display: inline-block;
    }
    #accbuttons button span {
        display: none;
    }
    #phones {
        font-size: 1.5rem;
        line-height: 2.4rem;
    }
}
@media (max-width: 680px) {
    #accountbutton {
        display: none;
    }
    #phones {
        font-size: 1.35rem;
        line-height: 1.9rem;
        flex-grow:6;
    }
}


#toppanel {
    --panel-height: 2.2rem;
    font-size: 1.4rem;
    border-bottom: 1px solid var(--main-blue-color);
    width: 100%;
    line-height: var(--panel-height);
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
    column-gap:1.2rem;
}
a.langswitch {
    text-transform: uppercase;
    padding: 0 0.3rem;
}
a.langswitch:hover {
    background-color: var(--main-blue-color);
    color: white;
}

@media (max-width: 480px) {
    header .mainrow {
        padding: 0 .2rem;
    }
}
@media (max-width: 680px) {
    header .search {
        width: 96%;
        margin: 0 0 .8rem 0;
    }
    header .search input {
        width: calc(100% - 40px);
        max-width: none;
    }
}
@media (max-width: 480px) {
    header .search {
        display:block;
        text-align:center;
        float: none;
    }
    header .cart {
        display: block;
        float: none;
        max-width:100%;
        margin: 0 0 5px 0;
    }
    header .cart > button {
        width: initial;
        max-width:100%;
        line-height: inherit !important;
        margin: 0 1px 0 0 !important;
    }
}
/* =============== BUTTONS =============== */
.cartbutton {
    border: none;
    background-color: var(--main-orange-color);
    display: inline-block;
    width: auto !important;
    max-width:10rem;
    color: #ffffff !important;
    font-size: 1.3rem;
    font-weight:bold !important;
    font-style: normal;
    line-height: 2rem;
    text-decoration: none;
    text-align: center;
    padding: 3px 12px;
    margin: 3px auto;
}
.cartbutton:hover {
    background-color: var(--second-orange-color);
}
.button {
    display: inline-block;
    border: none;
    padding: 0 1rem;

    width: initial;
    height: initial;
    background-color: transparent;
    background-image: none;
    
    text-align: center;
    text-decoration: none;
    line-height: 3rem;
    font-size: 1.5rem;
}
.button,
.button:hover,
.button:active,
.button:visited {
    border: 0 !important;
    text-decoration: none;
    background-image: none !important;
    background-color: white;
    font-weight:normal;
    padding: 0 1rem !important;
}
.button.grey       {    border: 1px solid var(--middle-grey-color) !important;     background: var(--middle-grey-color) !important;    color: white;  }
.button.grey:hover {                                   background: var(--dark-grey-color) !important;                   }

.button.blue       {    border: 1px solid var(--main-blue-color) !important;     background: var(--main-blue-color) !important;    color: white;  }
.button.blue:hover {                                   background: var(--dark-blue) !important;                   }

.button.white       {    border: 1px solid var(--main-blue-color) !important;    background: white;                 color: var(--main-blue-color);  }
.button.white:hover {    background: var(--dark-blue) !important; color: white;                  }

.button.orange       {    border: 1px solid var(--main-orange-color) !important;    background: #F05500 !important;    color: white;  }
.button.orange:hover {    background: var(--second-orange-color) !important;                   }

.button.lightblue-border       {    border: 1px solid var(--main-blue-color) !important; background: white;    color: var(--main-blue-color);  }
.button.lightblue-border:hover {    background: var(--main-blue-color) !important;          color: white;    }




/* --------------- EOF: BUTTONS ----------*/

/* Breadcrumbs */
.breadcrumb {
    width: 100%;
    display: block;
    list-style-type: none;
    padding: 0.3rem;
    font-size: 1.2rem;
    line-height: 2rem;
    color: var(--middle-grey-color);
    overflow-x: auto;
    white-space: nowrap;
    /*background-color: var(--light-grey-color);*/
}
.breadcrumb a {
    padding: 0 .2rem;
    color: var(--middle-grey-color);
    text-decoration:none;
}
.breadcrumb a:hover {
    color: var(--dark-grey-color);
}
.breadcrumb li {
    display:inline-block;
}
.breadcrumb li:last-child {
    font-weight:bold;
}
.breadcrumb li:not(:first-child)::before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 6px;
    border-color: transparent transparent transparent #8b9095;
    content: '';
    margin: 5px 5px 0;
    display: inline-block;
}

.wait {
    background: url(data:image/gif;base64,R0lGODlhCgAKANUAAP////v7+/f39/Pz8+/v7+rq6ubm5uLi4t7e3tra2tbW1tLS0s7OzsrKysXFxcHBwb29vbm5ubW1tbGxsa2trampqaWlpaCgoJycnJiYmJSUlJCQkIyMjIiIiISEhICAgHt7e3d3d3Nzc2NjY19fX1paWlZWVlJSUk5OTkZGRiEhIR0dHRkZGQgICP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAuACwAAAMACQAHAAAGKkCBAeAqGksqjPG4qiyLgsjnUSQwBC5KytNwNB4Jl4Hi4GQKiGVggsG6ggAh+QQJCgAuACwAAAEABwAJAAAGKkCXQbNwGV2bFuooiJAmR9DJcXR5TJHqwFFpVB+cS8FgLDAYjseguigGAQAh+QQJCgAuACwAAAAABwAJAAAGLECXEFAqCVyGiYSlOrgqqVDGAhA4PA+hC7NhaF0WjeMbKDgIX8Sj8XUljsIgACH5BAkKAC4ALAAAAAAJAAcAAAYqQJcw4PkAhK6Cw2EyRTQGF4RzkTxQrY5LEXEIJ6MFw1FAIhmPqFk4WAuDACH5BAkKAC4ALAAAAAAKAAcAAAYrQJdQcLkEhEjEYbNxUAzCxMOxaIBSlCGDIHx0IgKkuLIqiZEYlfnsAhgEQQAh+QQJCgAuACwDAAAABwAJAAAGKkDXYuEqugYPx+JRKBoKFM7D6HJYHAPqw+TRmkLGCQkiMKJaHOpCY3AFAQAh+QQJCgAuACwDAAEABwAJAAAGK0CXUJAQGhsPhNFFcBgESwXnslxkMMZIpzEAWCygVMV1WLEik4JLUCoBjEEAIfkECQoALgAsAAADAAoABwAABipAl3AoHBCJhgfjKCwoXYvRRNiYKISdFioCwXAaQoMmYjopHgYi4OMRDIMAOw==) no-repeat;
    width: 16px;
    height: 16px;
    display: block;
}
.success, .warning, .attention, .information {
    padding: .8rem;
    margin: 1rem 1.2rem;
    color: #555;
}
.success {
    background: #EAF7D9;
    border: 1px solid #BBDF8D;
}
.warning {
    background: #FFD1D1;
    border: 1px solid #F8ACAC;
}
.attention {
    background: #FFF5CC;
    border: 1px solid #F2DD8C;
}
.information {
    background: #E8F6FF;
    border: 1px solid #B8E2FB;
}
.success .close, .warning .close, .attention .close, .information .close {
    float: right;
    padding: 4px;
    cursor: pointer;
}

.required {
    color: #FF0000;
    font-weight:bold;
}
.error {
    display: block;
    color: #FF0000;
}
.help {
    color: #999;
    font-size: 10px;
    font-weight:normal;
    display: block;
}
table.form {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}
table.form tr td:first-child {
    width: 150px;
}
table.form > * > * > td {
    color: #000000;
}
table.form td {
    padding: 4px;
}
input.large-field, select.large-field {
    width: 250px;
}
table.list {
    border-collapse: collapse;
    width: 100%;
    border-top: 1px solid #DDDDDD;
    border-left: 1px solid #DDDDDD;
    margin-bottom: 20px;
}
.pagination {
    padding-top: .8rem;
    display: inline-block;
    width: 100%;
    text-align:center;
}
.pagination .links a,
.pagination .links b {
    display: inline-block;
    border: 1px solid #000;
    padding: 10px 15px;
    text-decoration: none;
    color: #000;
    opacity:.5;
    background: #FFF;
}
.pagination .links a:hover {
    opacity: 1;
}
.pagination .links b {
    border: 1px solid #269BC6;
    font-weight: normal;
    color: #269BC6;
    opacity: 1;
}

.buttons {
    background: #FFF;
    border: 1px solid #EEE;
    overflow: auto;
    margin-bottom: 2rem;
    padding: 1rem;
}
.buttons .left {
    float: left;
    text-align: left;
}
.buttons .right {
    float: right;
    text-align: right;
}
.buttons .center {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

/* BASE widget */
.widget {
    margin-top: 20px;
    clear: both;
}
.widget-heading {
    border: 1px solid #DBDEE1;
    background-color: #eff4fa;
    padding: .5rem 1rem;
    font-size: 1.5rem;
    color: #333;
    position:relative;
}
.widget-heading i {
    margin-right:.2rem;
    width:16px;height:16px;
}
.widget-heading h2 {
    font-size: inherit;
    color: inherit;
    display: inline;
    font-weight:bold;
}
.widget-heading a {
    font-size: 14px !important;
    font-weight:bold !important;
}
.widget-heading.orange {
    background-color:var(--second-orange-color);
    color: white;
}
.widget-heading.blue {
    background-color:var(--main-blue-color);
    color:white;
}
.widget-content {
    background: #FFFFFF;
    -webkit-border-radius: 0px 0px 7px 7px;
    -moz-border-radius: 0px 0px 7px 7px;
    -khtml-border-radius: 0px 0px 7px 7px;
    border-radius: 0px 0px 7px 7px;
    border-left: 1px solid #DBDEE1;
    border-right: 1px solid #DBDEE1;
    border-bottom: 1px solid #DBDEE1;
    padding: 1rem;
}

/* ================= Custom widgets =================== */


.widget.grid .widget-content {
    text-align:center;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}
.widget.grid .product-cell {
    margin: 4px;
    text-align: center;
    vertical-align: top;
    list-style: none;
}
.widget.grid a {
    text-decoration: none;
}


.all-spec {font-size:1.6rem;align-items:center;justify-content:space-evenly;border:none;opacity:.8}
.all-spec:hover {opacity:1;}

/* Блок Сортування і лімітів на сторінках категорій, виробника тощо */
.product-filter {
    overflow: hidden;
    text-align: right;
}
#limits, #sorting {
    display: inline-block;
    border: 1px solid #F0F0FA;
    text-align: center;
}
#limits {
    padding: .6rem 1rem;
}
#sorting span,
#limits a {
    cursor: pointer;
    display: inline-block;
    padding: .6rem 1rem;
}
#limits a {
    padding: 0 .2rem;
}
#limits a.active{
    font-weight:bold;
    text-decoration: none;
}
/* ==================================================== */

#sorting div {
    display: none;
    position: absolute;
    z-index:1100;
    border: 1px solid #edebde;
    padding: .5rem;
    background-color: #fff;
}
#sorting:hover div {
    display: block;
}
#sorting a {
    display: block;
    padding: .6rem 1rem;
}

.price{
    color: darkred;
    font-weight:bold;
}
.price-old {
    color: darkgrey;
    text-decoration: line-through;
}
.price-new {
    color: orangered;
}


/* ======================================================= */
.product-grid {
    width: 100%;
    overflow: auto;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

.product-cell {
    min-width: 130px;
    max-width: 182px;
    display: inline-flex;
    margin: .6rem;
    text-align: center;
    border: solid #FFF 1px;
    padding-bottom: 3px;
    position: relative;
    flex-flow: column nowrap;
    text-decoration: none;
    transition: transform 100ms ease;
    box-shadow: #eee 0px 0px 5px 1px;
}
.product-cell:hover {
    border: 1px solid var(--main-blue-color);
    opacity: 0.9;
    transform: scale(1.02);
}
.product-cell .icon-rating {
    display: none;
}
.product-cell > a:first-of-type {
    text-decoration: none;
    width: 100%;
    display: inline-block;
    margin-bottom: 0.4rem;
    padding-top: 20px;
}
.product-cell a:first-of-type {
    flex-grow: 1;
}
.product-cell > a > span{
    display: inline-block;
    width: 100%;
    font-size:1.3rem;
    padding: .3rem;
}
.product-cell .price,
.product-cell .price-new,
.product-cell .price-old {
    display: inline-block;
    font-size: 1.4rem;
}
.product-cell .price {
    margin: 0.4rem 0;
}
.product-cell .price-old {
    font-size: 1.3rem;
}
.product-cell .price-new {
    font-weight:bold;
}
.product-cell .cart {
    margin-bottom: 3px;
}
.product-cell .wishlist,
.product-cell .compare,
.product-cell .sku {
    margin-bottom: 3px;
}
.product-cell .sku {
    color: #777;
    font-size: 80%;
}
.product-cell.discontinued {
    opacity:0.65;
    -moz-opacity:0.65;
    filter:alpha(opacity=65);
}
.product-cell.discontinued:hover {
    opacity:1;
    -moz-opacity:1;
    filter:alpha(opacity=1);
}

.contact-info {
    overflow: auto;
}
.contact-info .left {
    float: left;
    width: 48%;
}
.contact-info .right {
    float: left;
    width: 48%;
}


#globalalert{
    background:#fd7c7c;
    color:#fff;
    text-align:center; font-size:1.4rem;
    width:100%;padding:3px;margin:0.4rem 0 1rem 0;
}

.noclear { clear: none; }
.nowidth { width: auto; }
.lowercase {    text-transform: lowercase;  }
.uppercase {    text-transform: uppercase;  }
.center { text-align: center; }


a.bold {font-weight:bold !important;}

img.lazyload {
    background: url('https://toprope.com.ua/i/spinner-1.gif') no-repeat center center;
}

.blackfriday {
    display: block;
    text-align: center;
    position: fixed;
    max-width: 90vw;
    max-height: 90vh;
    background: black;
    top: calc(50% - 352px / 2);
    left: calc(50% - 306px / 2);
    border: 3px solid black;
    box-shadow: 0px 0px 30px black;
    z-index: 9999;
}
.blackfriday a {
    text-decoration:none;
    display: block;
}

span.colorbox {
    height: 24px;
    width: 24px;
    margin: 4px;
    display: inline-block;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,.5);
    font-family: monospace;
    vertical-align: middle;
}

.product-cell img {
    width:180px;
    height:180px;
    display:inline-block;
}
@media (max-width: 680px) {
    .product-cell {
        max-width: 160px;
        margin: .7rem .4rem;
    }
    .product-cell img {
        width:120px;
        height:120px;
    }
}
.product-labels {
    display: block;
    font-family: "Roboto Condensed", Arial, sans-serif;
    text-align:left;
    width: 100%;
    position: absolute;
}
.product-labels span {
    max-width:140px;
    background-color: var(--main-blue-color);
    color: #FFF;
    display: inline-block;
    height: 20px;
    line-height: 20px;
    overflow: hidden;
    padding: 0 .8rem;
}
.product-labels .orange {color: white; background-color: #ff6600;}
.product-labels .blue {color: white; background-color: var(--main-blue-color);}
.product-labels .lightblue {color: #5a5a5a; background-color: #e8eef4;}
.product-labels .grey {color: white; background-color: #888888;}
.product-labels .green {color: white; background-color: #009900;}
.product-labels .red {color: white; background-color: #e81700;}
.product-labels .yellow {color: #555; background-color: #ffcc00;}

#open-right-nav {
    display:none;
    height: 42px;
    width: 42px;
    text-align: center;
    /* padding: 1rem 0; */
}
#open-right-nav i {
    line-height:34px;
    
}


@media (max-width: 680px) {
    .mainrow .search,
    #accountbutton,
    #toppanel {
        display:none;
    }
    #open-right-nav {
        display: block;
    }
}

@media (max-width: 980px) {
    #cartbutton span,
    #accountbutton span {
        display: none;
    }

}
/* Jquery fancybox.min.css include */
body.compensate-for-scrollbar {overflow: hidden;}.fancybox-active {height: auto;}.fancybox-is-hidden {left: -9999px;margin: 0;position: absolute !important;top: -9999px;visibility: hidden;}.fancybox-container {-webkit-backface-visibility: hidden;height: 100%;left: 0;outline: none;position: fixed;-webkit-tap-highlight-color: transparent;top: 0;-ms-touch-action: manipulation;touch-action: manipulation;transform: translateZ(0);width: 100%;z-index: 99992;}.fancybox-container * {box-sizing: border-box;}.fancybox-outer, .fancybox-inner, .fancybox-bg, .fancybox-stage {bottom: 0;left: 0;position: absolute;right: 0;top: 0;}.fancybox-outer {-webkit-overflow-scrolling: touch;overflow-y: auto;}.fancybox-bg {background: rgb(30, 30, 30);opacity: 0;transition-duration: inherit;transition-property: opacity;transition-timing-function: cubic-bezier(.47, 0, .74, .71);}.fancybox-is-open .fancybox-bg {opacity: .9;transition-timing-function: cubic-bezier(.22, .61, .36, 1);}.fancybox-infobar, .fancybox-toolbar, .fancybox-caption, .fancybox-navigation .fancybox-button {direction: ltr;opacity: 0;position: absolute;transition: opacity .25s ease, visibility 0s ease .25s;visibility: hidden;z-index: 99997;}.fancybox-show-infobar .fancybox-infobar, .fancybox-show-toolbar .fancybox-toolbar, .fancybox-show-caption .fancybox-caption, .fancybox-show-nav .fancybox-navigation .fancybox-button {opacity: 1;transition: opacity .25s ease 0s, visibility 0s ease 0s;visibility: visible;}.fancybox-infobar {color: #ccc;font-size: 13px;-webkit-font-smoothing: subpixel-antialiased;height: 44px;left: 0;line-height: 44px;min-width: 44px;mix-blend-mode: difference;padding: 0 10px;pointer-events: none;top: 0;-webkit-touch-callout: none;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}.fancybox-toolbar {right: 0;top: 0;}.fancybox-stage {direction: ltr;overflow: visible;transform: translateZ(0);z-index: 99994;}.fancybox-is-open .fancybox-stage {overflow: hidden;}.fancybox-slide {-webkit-backface-visibility: hidden;display: none;height: 100%;left: 0;outline: none;overflow: auto;-webkit-overflow-scrolling: touch;padding: 44px;position: absolute;text-align: center;top: 0;transition-property: transform, opacity;white-space: normal;width: 100%;z-index: 99994;}.fancybox-slide::before {content: '';display: inline-block;font-size: 0;height: 100%;vertical-align: middle;width: 0;}.fancybox-is-sliding .fancybox-slide, .fancybox-slide--previous, .fancybox-slide--current, .fancybox-slide--next {display: block;}.fancybox-slide--image {overflow: hidden;padding: 44px 0;}.fancybox-slide--image::before {display: none;}.fancybox-slide--html {padding: 6px;}.fancybox-content {background: #fff;display: inline-block;margin: 0;max-width: 100%;overflow: auto;-webkit-overflow-scrolling: touch;padding: 44px;position: relative;text-align: left;vertical-align: middle;}.fancybox-slide--image .fancybox-content {animation-timing-function: cubic-bezier(.5, 0, .14, 1);-webkit-backface-visibility: hidden;background: transparent;background-repeat: no-repeat;background-size: 100% 100%;left: 0;max-width: none;overflow: visible;padding: 0;position: absolute;top: 0;-ms-transform-origin: top left;transform-origin: top left;transition-property: transform, opacity;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;z-index: 99995;}.fancybox-can-zoomOut .fancybox-content {cursor: zoom-out;}.fancybox-can-zoomIn .fancybox-content {cursor: zoom-in;}.fancybox-can-swipe .fancybox-content, .fancybox-can-pan .fancybox-content {cursor: -webkit-grab;cursor: grab;}.fancybox-is-grabbing .fancybox-content {cursor: -webkit-grabbing;cursor: grabbing;}.fancybox-container [data-selectable='true'] {cursor: text;}.fancybox-image, .fancybox-spaceball {background: transparent;border: 0;height: 100%;left: 0;margin: 0;max-height: none;max-width: none;padding: 0;position: absolute;top: 0;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;width: 100%;}.fancybox-spaceball {z-index: 1;}.fancybox-slide--video .fancybox-content, .fancybox-slide--map .fancybox-content, .fancybox-slide--pdf .fancybox-content, .fancybox-slide--iframe .fancybox-content {height: 100%;overflow: visible;padding: 0;width: 100%;}.fancybox-slide--video .fancybox-content {background: #000;}.fancybox-slide--map .fancybox-content {background: #e5e3df;}.fancybox-slide--iframe .fancybox-content {background: #fff;}.fancybox-video, .fancybox-iframe {background: transparent;border: 0;display: block;height: 100%;margin: 0;overflow: hidden;padding: 0;width: 100%;}.fancybox-iframe {left: 0;position: absolute;top: 0;}.fancybox-error {background: #fff;cursor: default;max-width: 400px;padding: 40px;width: 100%;}.fancybox-error p {color: #444;font-size: 16px;line-height: 20px;margin: 0;padding: 0;}.fancybox-button {background: rgba(30, 30, 30, .6);border: 0;border-radius: 0;box-shadow: none;cursor: pointer;display: inline-block;height: 44px;margin: 0;padding: 10px;position: relative;transition: color .2s;vertical-align: top;visibility: inherit;width: 44px;}.fancybox-button, .fancybox-button:visited, .fancybox-button:link {color: #ccc;}.fancybox-button:hover {color: #fff;}.fancybox-button:focus {outline: none;}.fancybox-button.fancybox-focus {outline: 1px dotted;}.fancybox-button[disabled], .fancybox-button[disabled]:hover {color: #888;cursor: default;outline: none;}.fancybox-button div {height: 100%;}.fancybox-button svg {display: block;height: 100%;overflow: visible;position: relative;width: 100%;}.fancybox-button svg path {fill: currentColor;stroke-width: 0;}.fancybox-button--play svg:nth-child(2), .fancybox-button--fsenter svg:nth-child(2) {display: none;}.fancybox-button--pause svg:nth-child(1), .fancybox-button--fsexit svg:nth-child(1) {display: none;}.fancybox-progress {background: #ff5268;height: 2px;left: 0;position: absolute;right: 0;top: 0;-ms-transform: scaleX(0);transform: scaleX(0);-ms-transform-origin: 0;transform-origin: 0;transition-property: transform;transition-timing-function: linear;z-index: 99998;}.fancybox-close-small {background: transparent;border: 0;border-radius: 0;color: #ccc;cursor: pointer;opacity: .8;padding: 8px;position: absolute;right: -12px;top: -44px;z-index: 401;}.fancybox-close-small:hover {color: #fff;opacity: 1;}.fancybox-slide--html .fancybox-close-small {color: currentColor;padding: 10px;right: 0;top: 0;}.fancybox-slide--image.fancybox-is-scaling .fancybox-content {overflow: hidden;}.fancybox-is-scaling .fancybox-close-small, .fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {display: none;}.fancybox-navigation .fancybox-button {background-clip: content-box;height: 100px;opacity: 0;position: absolute;top: calc(50% - 50px);width: 70px;}.fancybox-navigation .fancybox-button div {padding: 7px;}.fancybox-navigation .fancybox-button--arrow_left {left: 0;left: env(safe-area-inset-left);padding: 31px 26px 31px 6px;}.fancybox-navigation .fancybox-button--arrow_right {padding: 31px 6px 31px 26px;right: 0;right: env(safe-area-inset-right);}.fancybox-caption {background: linear-gradient( to top, rgba(0, 0, 0, .85) 0%, rgba(0, 0, 0, .3) 50%, rgba(0, 0, 0, .15) 65%, rgba(0, 0, 0, .075) 75.5%, rgba(0, 0, 0, .037) 82.85%, rgba(0, 0, 0, .019) 88%, rgba(0, 0, 0, 0) 100% );bottom: 0;color: #eee;font-size: 14px;font-weight: 400;left: 0;line-height: 1.5;padding: 75px 44px 25px 44px;pointer-events: none;right: 0;text-align: center;z-index: 99996;}@supports (padding: max(0px)) {.fancybox-caption {padding: 75px max(44px, env(safe-area-inset-right)) max(25px, env(safe-area-inset-bottom)) max(44px, env(safe-area-inset-left));}}.fancybox-caption--separate {margin-top: -50px;}.fancybox-caption__body {max-height: 50vh;overflow: auto;pointer-events: all;}.fancybox-caption a, .fancybox-caption a:link, .fancybox-caption a:visited {color: #ccc;text-decoration: none;}.fancybox-caption a:hover {color: #fff;text-decoration: underline;}.fancybox-loading {animation: fancybox-rotate 1s linear infinite;background: transparent;border: 4px solid #888;border-bottom-color: #fff;border-radius: 50%;height: 50px;left: 50%;margin: -25px 0 0 -25px;opacity: .7;padding: 0;position: absolute;top: 50%;width: 50px;z-index: 99999;}@keyframes fancybox-rotate {100% {transform: rotate(360deg);}}.fancybox-animated {transition-timing-function: cubic-bezier(0, 0, .25, 1);}.fancybox-fx-slide.fancybox-slide--previous {opacity: 0;transform: translate3d(-100%, 0, 0);}.fancybox-fx-slide.fancybox-slide--next {opacity: 0;transform: translate3d(100%, 0, 0);}.fancybox-fx-slide.fancybox-slide--current {opacity: 1;transform: translate3d(0, 0, 0);}.fancybox-fx-fade.fancybox-slide--previous, .fancybox-fx-fade.fancybox-slide--next {opacity: 0;transition-timing-function: cubic-bezier(.19, 1, .22, 1);}.fancybox-fx-fade.fancybox-slide--current {opacity: 1;}.fancybox-fx-zoom-in-out.fancybox-slide--previous {opacity: 0;transform: scale3d(1.5, 1.5, 1.5);}.fancybox-fx-zoom-in-out.fancybox-slide--next {opacity: 0;transform: scale3d(.5, .5, .5);}.fancybox-fx-zoom-in-out.fancybox-slide--current {opacity: 1;transform: scale3d(1, 1, 1);}.fancybox-fx-rotate.fancybox-slide--previous {opacity: 0;-ms-transform: rotate(-360deg);transform: rotate(-360deg);}.fancybox-fx-rotate.fancybox-slide--next {opacity: 0;-ms-transform: rotate(360deg);transform: rotate(360deg);}.fancybox-fx-rotate.fancybox-slide--current {opacity: 1;-ms-transform: rotate(0deg);transform: rotate(0deg);}.fancybox-fx-circular.fancybox-slide--previous {opacity: 0;transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);}.fancybox-fx-circular.fancybox-slide--next {opacity: 0;transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);}.fancybox-fx-circular.fancybox-slide--current {opacity: 1;transform: scale3d(1, 1, 1) translate3d(0, 0, 0);}.fancybox-fx-tube.fancybox-slide--previous {transform: translate3d(-100%, 0, 0) scale(.1) skew(-10deg);}.fancybox-fx-tube.fancybox-slide--next {transform: translate3d(100%, 0, 0) scale(.1) skew(10deg);}.fancybox-fx-tube.fancybox-slide--current {transform: translate3d(0, 0, 0) scale(1);}@media all and (max-height: 576px) {.fancybox-slide {padding-left: 6px;padding-right: 6px;}.fancybox-slide--image {padding: 6px 0;}.fancybox-close-small {right: -6px;}.fancybox-slide--image .fancybox-close-small {background: #4e4e4e;color: #f2f4f6;height: 36px;opacity: 1;padding: 6px;right: 0;top: 0;width: 36px;}.fancybox-caption {padding-left: 12px;padding-right: 12px;}@supports (padding: max(0px)) {.fancybox-caption {padding-left: max(12px, env(safe-area-inset-left));padding-right: max(12px, env(safe-area-inset-right));}}}.fancybox-share {background: #f4f4f4;border-radius: 3px;max-width: 90%;padding: 30px;text-align: center;}.fancybox-share h1 {color: #222;font-size: 35px;font-weight: 700;margin: 0 0 20px 0;}.fancybox-share p {margin: 0;padding: 0;}.fancybox-share__button {border: 0;border-radius: 3px;display: inline-block;font-size: 14px;font-weight: 700;line-height: 40px;margin: 0 5px 10px 5px;min-width: 130px;padding: 0 15px;text-decoration: none;transition: all .2s;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;white-space: nowrap;}.fancybox-share__button:visited, .fancybox-share__button:link {color: #fff;}.fancybox-share__button:hover {text-decoration: none;}.fancybox-share__button--fb {background: #3b5998;}.fancybox-share__button--fb:hover {background: #344e86;}.fancybox-share__button--pt {background: #bd081d;}.fancybox-share__button--pt:hover {background: #aa0719;}.fancybox-share__button--tw {background: #1da1f2;}.fancybox-share__button--tw:hover {background: #0d95e8;}.fancybox-share__button svg {height: 25px;margin-right: 7px;position: relative;top: -1px;vertical-align: middle;width: 25px;}.fancybox-share__button svg path {fill: #fff;}.fancybox-share__input {background: transparent;border: 0;border-bottom: 1px solid #d7d7d7;border-radius: 0;color: #5d5b5b;font-size: 14px;margin: 10px 0 0 0;outline: none;padding: 10px 15px;width: 100%;}.fancybox-thumbs {background: #ddd;bottom: 0;display: none;margin: 0;-webkit-overflow-scrolling: touch;-ms-overflow-style: -ms-autohiding-scrollbar;padding: 2px 2px 4px 2px;position: absolute;right: 0;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);top: 0;width: 212px;z-index: 99995;}.fancybox-thumbs-x {overflow-x: auto;overflow-y: hidden;}.fancybox-show-thumbs .fancybox-thumbs {display: block;}.fancybox-show-thumbs .fancybox-inner {right: 212px;}.fancybox-thumbs__list {font-size: 0;height: 100%;list-style: none;margin: 0;overflow-x: hidden;overflow-y: auto;padding: 0;position: absolute;position: relative;white-space: nowrap;width: 100%;}.fancybox-thumbs-x .fancybox-thumbs__list {overflow: hidden;}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {width: 7px;}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {background: #fff;border-radius: 10px;box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {background: #2a2a2a;border-radius: 10px;}.fancybox-thumbs__list a {-webkit-backface-visibility: hidden;backface-visibility: hidden;background-color: rgba(0, 0, 0, .1);background-position: center center;background-repeat: no-repeat;background-size: cover;cursor: pointer;float: left;height: 75px;margin: 2px;max-height: calc(100% - 8px);max-width: calc(50% - 4px);outline: none;overflow: hidden;padding: 0;position: relative;-webkit-tap-highlight-color: transparent;width: 100px;}.fancybox-thumbs__list a::before {border: 6px solid #ff5268;bottom: 0;content: '';left: 0;opacity: 0;position: absolute;right: 0;top: 0;transition: all .2s cubic-bezier(.25, .46, .45, .94);z-index: 99991;}.fancybox-thumbs__list a:focus::before {opacity: .5;}.fancybox-thumbs__list a.fancybox-thumbs-active::before {opacity: 1;}@media all and (max-width: 576px) {.fancybox-thumbs {width: 110px;}.fancybox-show-thumbs .fancybox-inner {right: 110px;}.fancybox-thumbs__list a {max-width: calc(100% - 10px);}}
/* EOF fancybox */

/* Tooltips fix */
body .ui-tooltip {
    font-size: 1.1rem;
}
.ui-widget-content{background:#fff !important;}
.ui-widget-shadow {-webkit-box-shadow: none !important; box-shadow: none !important;}

#callmebackmodal { max-width: 90vw; width: 40rem; padding:2rem 1.4rem; font-size: 1.3rem; text-align: center; display:none;}
#callmebackmodal > div {display: inline-flex; width:100%; flex-flow: column nowrap;}
#callmebackmodal form * {width: 100%; resize: none; display: inline-block; margin: .2rem 0;}
#callmebackmodal label {font-weight: bold;}
#callmebackmodal .error { display: block; color: red; }


#modal-cart-products .total {text-align: right;}
#cartmodal { font-size: 1.3rem;}
#cartmodal .totals {text-align: right;}
#cartmodal .totals span{font-weight: bold; margin-right: 1rem;min-width: 10rem;}

#cartmodal .buttons { text-align: center; margin: 1rem 0; border: none;}
#cartmodal .button { margin: .2rem; }

#modal-cart-products {
    width:100%;
    padding:.4rem;
}

#modal-cart-products tr {
    height: 2.6rem;
}

a.opencallmebackmodal > span {width:auto;padding-right:4px;color:white;}

.modal {
    background-color:#fff;
    display:none;
    width:500px;
    padding:1.5rem;
    text-align:left;
    z-index:9999;
    max-width:90vw;
    -moz-box-shadow: 0 0 20px #ccc;
    -webkit-box-shadow: 0 0 20px #ccc;
  }


.modal h2 {
    margin-bottom:1.5rem;
    padding-bottom:1rem;
    border-bottom:1px solid #333;
    font-size:2rem;
  }
.ui-front {
    z-index:1000000 !important; /* JQuery UI dialogs */
}
.ui-widget-overlay {background: #666 !important;}

.short-descr-tooltip {
    max-width: 400px !important;
    border: 1px solid black !important;
}

.icon-rating {
    width: 60px;
    height: 16px;
    display: inline-block;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAAgCAMAAADuZ0x6AAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAB4UExURf///+hubsDAwLe3t+6kpOJcXNjY2OBKSu+Ojq2trdDQ0PLOzvv7++/Dw/Xe3ux/f8nJyebm5vCysv329u/v7/75+eDg4Nvb29TU1Prk5OXl5fj4+OLi4vXp6fzs7Orq6vz8/Pzy7vPz86Wlpe3t7fLy8t3JydK7t+Ks4S0AAAEtSURBVEjH7ZVJb4MwEEYHMHjBrGHLAlnakv//D2tCpDrH+ThUVfMO+J0GMUJ+RL/KtMPdHnGnNMe9qXBvRQ079cMF9lypK+pHYxrIUyGEKgrljj3XmyRJTFkad1RcJ6qDJxnfq/BJx3eibJ2TIn5e55wQJxKxI8X8EDkSzClYBinMzTIoxHyUsgikbBG3Wkel1jfESciMdrVMET989JY6PSBO2eP+2+eIf349vuOE+Jv/AbfBdN3QYNrQ43FDj33YDc5mCzfYh9vgVs0V2uOfDTIbPLmHKOalqR2/wT7cBueFO2fXNoM02Ifb4MnJPQx7rME+3AbncXyPSrDBPtwG18uLowvUYB9ugymQ8ax1BTX4ZdPMBo9StXRed81u8MvPxWzweoXZwb4b/Df4BmlROyTlhad1AAAAAElFTkSuQmCC) 0 0 no-repeat;
}
.rating-5 { background-position: 0 0; }
.rating-4 { background-position: -12px 0; }
.rating-3 { background-position: -24px 0; }
.rating-2 { background-position: -36px 0; }
.rating-1 { background-position: -48px 0; }
.rating-0 { background-position: -60px 0; }
.rating-0-5  { background-position: -48px -16px; }
.rating-1-5 { background-position: -36px -16px; }
.rating-2-5 { background-position: -24px -16px; }
.rating-3-5 { background-position: -12px -16px; }
.rating-4-5 { background-position: 0 -16px; } 


/* banner - ШО ЦЕ і ДЕ ЦЕ? */
.banner div {
    text-align: center;
    width: 100%;
}
.banner div img {
    margin-bottom: 20px;
}

/* footer */
footer {
    overflow: auto;
    font-size: 1.4rem;
    line-height: 1.9rem;
    color: #aaa;
    background: #333;
    border-top: 4rem solid var(--main-blue-color);
    margin-top: 1rem;
}
footer a {
    color: #aaa !important;
    text-decoration: none;
}
footer a:hover {
    color: #000;
    text-decoration: underline;
}
footer section {
    margin: 2rem 3rem;
    clear: both;
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start;
    justify-content: space-between;
}
footer .column {
    margin: 0 0 1rem 0;
    flex-grow:1;
}
footer .column > span:first-child {
    padding: 0 1rem;
    font-weight:bold;
    display:block;
    color:#bbb;
    width: 100%;
    border-bottom: 1px solid #777;
}
footer .column:first-child span {
    padding: 0;
    word-wrap: nowrap;
}
footer .column > div {
    padding: 1rem;
    list-style: none;
    white-space: nowrap;
}
footer .column div > a,
footer .column div > span {
    display: block;
    padding: .35rem .1rem;
}
footer p {
    padding-right: 1rem;
    margin: 0;
}
#footer-info p {
    margin: 1rem 0;
}
#footer-schedule p {
    margin: 0 0 1rem 0;
}
@media (max-width: 680px) {
    #footer-info p {
        font-size: 1.3rem;
        line-height: 1.5rem;
    }
    footer > section {
        margin: 1.4rem;
    }
}
#footer-copyright {
    margin: 2rem;S
    font-size: smaller;
}
footer .social-link {
    display: inline-block;
    font-size: 300%;
    text-decoration: none;
}
footer .social-link:hover {
    filter: drop-shadow(0px 0px 1px #777);
    text-decoration: none;
}

/* Quick contacts button */
.qcontacts-btn {
    --squaresize: 50px;
    --padding: 5px;
    --buttons-cnt: 5;
    color:white;
    font-size: calc(var(--squaresize) / 2);
    display: flex;
    justify-content: center;
    align-items: center;
    position:fixed;
    bottom: 50px;right: 50px;
    width: var(--squaresize);
    height: var(--squaresize);
    line-height: var(--squaresize);
    border-radius: 50%;
}
@media (max-width: 680px) {
    .qcontacts-btn {
        --squaresize: 40px;
        bottom:25px;right:25px;
    }
}
.qcontacts-toggler {
    opacity: 0;
    width:100%;
    height:100%;
    margin:0;
    position: absolute;
    cursor: pointer;
    border-radius:50%;
}
.qcontacts-btn .icon {
    height:100%;
    width:100%;
    border-radius: 50%;
    background-color: var(--main-orange-color);
    box-shadow: 0px 0px 4px 2px #fff;
    display: inline-grid;
    align-content: center;
    justify-content: center;
    opacity: .8;
}
.qcontacts-btn .icon i {
    height:100%;
    width:100%;
    animation: 1.3s ease-in-out 0s infinite shaking-animation;
}
@keyframes shaking-animation {
0%, 50%, 100% {transform: rotate(0deg);}
10%, 30% {transform: rotate(-10deg);}
20%, 40% {transform: rotate(10deg);}
}
.qcontacts {
    height: 0px;
    width: calc(var(--squaresize) * 5);
    position:absolute;
    top: calc((var(--squaresize) + var(--padding)) * var(--buttons-cnt) * -1);
    overflow:hidden;
    margin-top:calc((var(--squaresize) + var(--padding)) * var(--buttons-cnt));
    transition: all 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    right:0;
    }
.qcontacts-toggler:checked + .qcontacts {
    height:calc((var(--squaresize) + var(--padding)) * var(--buttons-cnt));
    margin-top:0;
}
.qcontact-btn {
    text-align: right;
    position: relative;
}
.qcontact-btn a {
    display: inline-block;
    text-decoration: none;
    width:var(--squaresize);
    height:var(--squaresize);
    border-radius:50%;
    background: var(--main-blue-color);
    margin-bottom:var(--padding);
    color: inherit;
    text-align: center;
}
.qcontact-btn svg {
    height: calc(var(--squaresize) - 1.6rem);
    position: relative;
    top: 0.8rem;
}
.qcontact-tip {
    background: var(--middle-grey-color);
    height: calc(var(--squaresize) / 2);
    position: absolute;
    top: calc(var(--squaresize) / 4);
    box-sizing: border-box;
    border-radius: 5px;
    font-size: calc(var(--squaresize) / 4);
    line-height: calc(var(--squaresize) / 3);
    overflow: hidden;
    visibility:hidden;
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    width: auto;
    margin-right: var(--padding);
    right: var(--squaresize);
    line-break: strict;
}
.qcontact-btn:hover .qcontact-tip {
    padding: 4px 10px;
    visibility: visible;
    opacity:1;
    pointer-events: auto;
}

/* EOF */
.fa, .far, .fas {
    text-decoration:none;
}
/* ── Список бажань ──────────────────────────────────────────────────────────
   Сердечко приходить із сервера ЗАВЖДИ порожнім: сторінки категорій кешуються
   і однакові для всіх відвідувачів, тож стан «у списку» протік би між ними.
   Клас .active навішує JS із localStorage — див. static/js/common.js.

   Іконка — fas fa-heart, а не far: у шапці попередньо завантажується тільки
   fa-solid-900.woff2, і outline-накреслення тягнуло б другий шрифт на кожну
   сторінку категорії заради однієї іконки. Порожній стан робимо обведенням. */
.wl-btn {
    position: absolute;
    top: 2px;
    right: 2px;
    z-index: 2;
    width: 3rem;
    height: 3rem;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    line-height: 3rem;
    -webkit-tap-highlight-color: transparent;
}
.wl-btn i {
    width: auto;
    height: auto;
    line-height: inherit;
    font-size: 1.8rem;
    color: #e4e4e4;
    -webkit-text-stroke: 1px #b0b0b0;
    transition: color 120ms ease, transform 120ms ease;
}
.wl-btn:hover i {
    color: #ff8fa3;
}
.wl-btn.active i {
    color: #e0245e;
    -webkit-text-stroke: 0;
}
.wl-btn.just-added i {
    transform: scale(1.35);
}
/* Варіант для картки товару: стоїть у рядку поруч із кнопкою «Купити». */
.wl-btn-lg {
    position: static;
    width: auto;
    height: auto;
    vertical-align: middle;
    margin-left: .6rem;
}
.wl-btn-lg i {
    font-size: 2.4rem;
}

#wishlistbutton,
#cartbutton {
    position: relative;
}
#wishlistbutton i {
    color: #fff;
}
/* Бейджі-лічильники. У вішліста 0 у розмітці — заглушка, JS одразу перезаписує
   його з localStorage. У кошика число рендериться на сервері (із сесії), а JS
   оновлює після addToCart. Порожній стан ховається класом .empty.
   Префікс #accbuttons обов'язковий: без нього `#cartbutton span` (0,1,0,1)
   перебиває `#cart-count` (0,1,0,0) і накидає бейджу padding та height 34px. */
#accbuttons #wishlist-count,
#accbuttons #cart-count {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 1.8rem;
    height: 1.8rem;
    line-height: 1.8rem;
    padding: 0 .4rem;
    border-radius: .9rem;
    background: #e0245e;
    color: #fff;
    font-size: 1.2rem;
}
#accbuttons #wishlist-count.empty,
#accbuttons #cart-count.empty {
    display: none;
}
/* На вузьких екранах підписи кнопок ховаються правилом #accbuttons button span,
   але лічильник — не підпис, його треба лишити видимим. */
@media (max-width: 980px) {
    #accbuttons #wishlist-count:not(.empty),
    #accbuttons #cart-count:not(.empty) {
        display: inline-block;
    }
}
/* Ширше за 980px на кнопці кошика знову видно підпис «Кошик», і абсолютний
   бейдж у правому верхньому куті накривав би його — заміряно, перекриття
   20x16px. Там бейдж стає звичайним елементом потоку і йде ПІСЛЯ підпису.
   Кнопки вішліста це не стосується: у неї підпису немає взагалі. */
@media (min-width: 981px) {
    #accbuttons #cart-count {
        position: static;
        align-self: flex-start;
        margin: 2px 0 0 .2rem;
    }
}

.wishlist-page .wishlist-hint {
    margin: 1rem 0;
    padding: .8rem 1.2rem;
    background: #e8eef4;
    color: #5a5a5a;
}
.wishlist-page .wishlist-empty {
    text-align: center;
    font-size: 1.8rem;
    padding: 3rem 1rem;
}
/* Знятий товар не зникає одразу, а гасне: випадковий клік по сердечку
   лишається оборотним до перезавантаження сторінки. */
.wishlist-grid .product-cell.removed {
    opacity: .35;
}

/* ── Шапка на вузьких екранах ───────────────────────────────────────────────
   Кнопки на 20% менші: 42px * 0.8 = 33.6 -> 34px. Разом із ними мусить
   зменшитись і вміст, інакше іконка 2rem у боксі 34px вилазить за межі
   кнопки — тому перевизначено і #accbuttons i, і глобальне `button i`.

   Правила лежать у КІНЦІ файлу навмисно: базовий `#open-right-nav` (рядок
   ~1104) стоїть НИЖЧЕ за медіазапит на 980px і за однакової специфічності
   (0,1,0,0) перебивав би його. Медіазапит специфічності не додає. */
@media (max-width: 980px) {
    #cartbutton,
    #accountbutton,
    #wishlistbutton,
    #open-right-nav {
        height: 34px;
        width: 34px;
        min-width: 34px;
    }
    #accbuttons i,
    #open-right-nav i {
        font-size: 1.6rem;
        line-height: 34px;
    }
    #accbuttons button i,
    #open-right-nav i {
        width: 34px;
        height: 34px;
    }
    /* Бейдж теж підтягуємо, щоб не перекривав пів кнопки. */
    #accbuttons #wishlist-count,
    #accbuttons #cart-count {
        min-width: 1.5rem;
        height: 1.5rem;
        line-height: 1.5rem;
        padding: 0 .3rem;
        border-radius: .75rem;
        font-size: 1.05rem;
    }
}

/* Липка шапка — тільки на телефонах (<=680px), де nav вже display:none.
   Ширші екрани лишаються як були: там випадайки меню мають z-index 1000 і
   перекривали б закріплену шапку.
   Працює тому, що ні html, ні body, ні #container не мають overflow-x:hidden —
   будь-який overflow у предка мовчки перетворює sticky на static.
   z-index 100 навмисно нижчий за #overlay (200) і #right-nav (250): бічне
   меню мусить лягати ПОВЕРХ шапки, а не під неї. */
@media (max-width: 680px) {
    header {
        position: sticky;
        top: 0;
        z-index: 100;
        box-shadow: 0 2px 6px rgba(0, 0, 0, .15);
    }
}

/* ── Сітка товарів ──────────────────────────────────────────────────────────
   Було: flex + justify-content: space-around, а на клітинці max-width: 182px.
   На вузькому екрані в рядок ставало дві картки по 182px, а ВСЯ решта ширини
   роздавалася як проміжки між ними — звідси «діри». Плюс висоту рядка задавала
   найвища картка В МЕЖАХ РЯДКА, тож сусідні рядки виходили різні.

   Стало: grid із колонками 1fr — вони самі з'їдають усю ширину без залишку,
   тож картки стикаються. grid-auto-rows: 1fr прирівнює висоту ВСІХ рядків
   сторінки, а не лише сусідів у рядку.

   Розділові лінії — це фон сітки, який проглядає крізь gap: 1px. Так між
   картками рівно одна лінія; при border на кожній картці їх було б дві.

   Перелік контейнерів навмисно поіменний, а не `.widget.grid .widget-content`:
   клас grid висить ще на #featured-categories (там .widget-content взагалі
   немає) і на related-products, де всередині .widget-content лежить окремий
   <ul class="flex"> — узагальнене правило зробило б цей ul ЄДИНОЮ клітинкою
   сітки і схлопнуло б увесь блок супутніх товарів в одну колонку. */
.product-grid,
.widget.specials .widget-content,
.widget.latest-products .widget-content,
.widget.related-products .widget-content > ul.flex {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    grid-auto-rows: 1fr;
    gap: 1px;
    background: #ececec;
    border: 1px solid #ececec;
    overflow: visible;
    padding: 0;
}
/* У related-products рамку несе внутрішній ul, тож зовнішня обгортка мусить
   лишитись без своєї — інакше вийде подвійний контур.
   display: block критичний: успадковане згори `.widget.grid .widget-content`
   ставить flex, і тоді ul як флекс-елемент стискається до ширини ВМІСТУ
   (заміряно: 252px замість 365px), а сітка в ньому згортається в одну колонку. */
.widget.related-products .widget-content {
    display: block;
    border: 0;
    border-radius: 0;
    padding: 0;
}
.product-grid .product-cell,
.widget.grid .product-cell {
    /* min-width: 0 обов'язковий: без нього мінімальна ширина 130px не дає
       колонці стиснутись, і на вузькому екрані сітка вилазить за край. */
    min-width: 0;
    max-width: none;
    width: auto;
    margin: 0;
    border: 0;
    box-shadow: none;
    background: #fff;
    /* Верхній відступ 2.2rem — це смуга під бейдж знижки: сам бейдж має
       height: 20px і лежить абсолютом при верхньому краї картки, тож падінг
       мусить бути трохи більший за нього. На картках без бейджа ця смуга
       лишається порожньою — так усі картки в ряду мають однаковий ритм. */
    padding: 2.2rem .8rem .8rem;
}
/* Бейдж кріпимо саме до КРАЮ картки, а не до її контентного боксу: без явних
   top/left він стояв би на статичній позиції, тобто вже за падінгом, і при
   width: 100% вилазив би праворуч рівно на ширину падінга. */
.product-grid .product-labels,
.widget.grid .product-labels {
    top: 0;
    left: 0;
}
/* Смугу під бейдж тепер тримає падінг картки, тож базовий padding-top: 20px
   на посиланні з картинкою став би подвійним відступом. */
.product-grid .product-cell > a:first-of-type,
.widget.grid .product-cell > a:first-of-type {
    padding-top: 0;
}
/* outline замість border: не займає місця в потоці, тож при наведенні
   вміст картки не смикається на 1px. */
.product-grid .product-cell:hover,
.widget.grid .product-cell:hover {
    border: 0;
    outline: 1px solid var(--main-blue-color);
    z-index: 1;
}
/* Назва завжди рівно два рядки — і для «Кросівки», і для «Штани трекінгові
   утеплені жіночі». Саме різна кількість рядків робила картки різновисокими. */
.product-grid .product-cell > a > span,
.widget.grid .product-cell > a > span {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.35;
    height: 4.2rem;
}
.product-grid .product-cell img,
.widget.grid .product-cell img {
    margin: 0 auto;
    /* height: auto обов'язковий. Базове правило .product-cell img задає жорстко
       width: 180px і height: 180px. Після появи падінга контентний бокс картки
       став вужчий за 180px, глобальне `img { max-width: 100% }` обрізало ШИРИНУ
       до 164px, а висота лишалась 180px — картинка розтягувалась по вертикалі.
       З height: auto пропорція тримається сама. */
    height: auto;
}
/* ── Ряд дій унизу картки ───────────────────────────────────────────────────
   Кошик і сердечко — два СЕГМЕНТИ однієї кнопкової групи: спільна рамка,
   без проміжку, трохи ширші за квадрат. Голі іконки без рамки не читалися
   як щось натискабельне.
   Ряд притискається донизу сам собою: посилання з картинкою має flex-grow: 1
   (правило вище), тож увесь надлишок висоти дістається саме йому. */
.cell-actions {
    display: flex;
    justify-content: center;
    align-items: stretch;
    margin-top: .6rem;
}
.cell-actions .cartbutton,
.cell-actions .wl-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    /* !important вимушений: у самому .cartbutton стоять !important на width і color. */
    width: 4.4rem !important;
    max-width: none;
    height: 3.4rem;
    padding: 0;
    margin: 0;
    border: 1px solid #dcdcdc;
    background: #fff;
    background-color: #fff;
    line-height: 1;
    /* .wl-btn у базовому правилі абсолютний (він раніше висів у куті картки). */
    position: static;
}
/* Сусідні сегменти ділять одну межу, інакше посередині виходить лінія 2px. */
.cell-actions > * + * {
    margin-left: -1px;
}
/* Скруглення лише на зовнішніх кутах групи. Коли кнопка одна (товар недоступний,
   лишається саме сердечко) — вона і перша, і остання, тож скруглюється з обох боків. */
.cell-actions > :first-child {
    border-radius: 3px 0 0 3px;
}
.cell-actions > :last-child {
    border-radius: 0 3px 3px 0;
}
/* Коли кнопка одна (товар недоступний — лишається саме сердечко), вона є і
   :first-child, і :last-child. border-radius — шорткат, тож правило :last-child
   перебивало б :first-child ЦІЛКОМ і ліві кути лишалися б квадратними.
   Заміряно: було 0px/3px замість 3px/3px. */
.cell-actions > :only-child {
    border-radius: 3px;
}
.cell-actions .cartbutton {
    color: var(--main-orange-color) !important;
    font-size: 1.8rem;
}
.cell-actions .wl-btn i {
    font-size: 1.8rem;
    line-height: 1;
}
.cell-actions .cartbutton i {
    width: auto;
    height: auto;
    line-height: 1;
}
/* z-index — щоб рамка активного сегмента лягала ПОВЕРХ сусідньої,
   інакше через від'ємний margin сусід перекриває її наполовину. */
.cell-actions .cartbutton:hover,
.cell-actions .wl-btn:hover {
    background-color: #f6f7f9;
    border-color: #b9b9b9;
    position: relative;
    z-index: 1;
}
.cell-actions .cartbutton:hover {
    color: var(--second-orange-color) !important;
}

/* ── Заголовки віджетів ─────────────────────────────────────────────────────
   Просто текст по центру: без іконки, рамки і плашки. Іконки прибрано з
   розмітки (module/special.tpl, module/latest.tpl), а не сховано тут, щоб
   не лишати сміття в HTML. */
.widget.grid .widget-heading {
    border: 0;
    background: none;
    text-align: center;
    padding: 1.4rem 1rem .8rem;
    font-size: 1.8rem;
}
.widget.grid .widget-heading h2 {
    font-weight: normal;
}
