:root {
    --white-color: #ffffff;
    --font-color: #022226;
    --font-color-light: #555555;
    --font-color-grey: #777777;
    --link-color: #00747F;
    --light-blue: #59B4B4;
    --lighter-blue: #F3FCFC;
    --subs-bg: #E1EFEC;
    --light-grey: #F7F7F7;
    --grey-border: #E6ECEC;
    --grey: #8E8E8E;
    --grey2: #9998A1;
    --footer-bd: #EBEBEB;
    --red: #E11313;
    --red2: #D81111;
    --orange: #FA9324;
    --orange2: #F39500;
    --green: #3C810E;
    --green2: #329943;
    --green3: #549436;
    --btn-hover: #0595A3;
    --btn-pressed: #01656F;
    --breadcrumbs: #00B3C4;
    --filter-bd: #D6E9E9;
    --blue: #3498DB;
    --font-size: 14px;
    --font-family: 'Open Sans', sans-serif;
}

* {
    outline: 0;
}

body {
    font: var(--font-size) / 23px var(--font-family);
    font-weight: 400;
    color: var(--font-color);
    font-size: var(--font-size);
    width: 100%;
    overflow-x: hidden;
}

/* default font size */
.fa {
    font-size: 14px;
}

.pack-quantity {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
}

.pack-quantity .amount-block {
    align-items: center;
    display: inline-flex;
    flex: 0 1 auto;
    flex-direction: column;
}

.pack-quantity .amount-title {
    color: var(--grey);
    font-size: 14px;
    margin: 0;
    text-align: center;
}

.pack-quantity .amount-field {
    background: var(--white-color);
    border: 1px solid var(--grey-border);
    display: flex;
    flex-wrap: nowrap;
    height: 50px;
    width: 116px;
}

.pack-quantity .pack-quantity-button {
    align-items: center;
    background: var(--white-color);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: var(--link-color);
    cursor: pointer;
    display: flex;
    flex: 0 0 38px;
    font-size: 24px;
    font-weight: 400;
    justify-content: center;
    line-height: 1;
    padding: 0;
    text-align: center;
}

.pack-quantity .pack-quantity-button:disabled {
    cursor: default;
    opacity: .45;
}

.pack-quantity .amount-input {
    border: 0;
    color: var(--font-color);
    flex: 1 1 auto;
    font-size: 16px;
    height: 100%;
    line-height: 25px;
    min-width: 0;
    text-align: center;
    width: 40px;
    -moz-appearance: textfield;
}

.pack-quantity .amount-input::-webkit-outer-spin-button,
.pack-quantity .amount-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

.pack-quantity .icon-minus::before {
    content: '−';
}

.pack-quantity .icon-plus::before {
    content: '+';
}

.h1, h1 {
    font-size: 24px;
    line-height: 33px;
    font-weight: 600;
}

/* Override the bootstrap defaults */
h2 {
    font-size: 22px;
}

h3 {
    font-size: 20px;
}

h4 {
    font-size: 18px;
}

h5 {
    font-size: 16px;
}

h6 {
    font-size: 15px;
}

@media (min-width: 768px) {
    .h1, h1 {
        font-size: 26px;
        line-height: 35px;
    }
}

@media (min-width: 1280px) {
    .h1, h1 {
        font-size: 28px;
        line-height: 38px;
    }
}

/* Product titles have their own responsive scale; tab headings stay below it. */
#product-product .tab-content h2 { font-size: 19px; }
#product-product .tab-content h3 { font-size: 18px; }
#product-product .tab-content h4 { font-size: 17px; }
#product-product .tab-content h5 { font-size: 16px; }
#product-product .tab-content h6 { font-size: 15px; }
#product-product .tab-content :is(h2, h3, h4, h5, h6) { line-height: 1.45; }

@media (min-width: 1280px) {
    #product-product .tab-content h2 { font-size: 22px; }
    #product-product .tab-content h3 { font-size: 20px; }
    #product-product .tab-content h4 { font-size: 18px; }
    #product-product .tab-content h5 { font-size: 17px; }
    #product-product .tab-content h6 { font-size: 16px; }
}

@media (min-width: 992px) {
    /* Clipping must not create a scroll container above the sticky summary. */
    html:has(#product-product),
    body:has(#product-product) {
        overflow-x: clip;
    }
}


a {
    color: #23a1d1;
}

a:hover {
    opacity: .8;
}

a:active, a:hover {
    outline-width: 0;
}

a {
    text-decoration: none;
    color: #00747F;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

.error-text {
    color: var(--red);
    font-size: 12px;
    line-height: 16px;
    width: 100%;
    display: none;
    padding: 3px 0 0;
}

.scrollbar {
    scrollbar-color: var(--link-color) var(--grey-border);
    scrollbar-width: thin;
    position: relative
}

.scrollbar::-webkit-scrollbar {
    width: 23px;
    height: 0
}

.scrollbar::-webkit-scrollbar-track {
    border-radius: 6px;
    background: var(--grey-border);
    border: 10px solid transparent;
    background-clip: content-box
}

.scrollbar::-webkit-scrollbar-thumb {
    background: var(--link-color);
    border-radius: 10px;
    border: 10px solid transparent;
    background-clip: content-box
}

i[class^="icon-"] {
    display: inline-flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
    text-align: center;
    background-repeat: no-repeat;
    vertical-align: middle;
}

.input {
    border: 0;
    font-family: var(--font-family);
    color: var(--font-color);
    background-color: var(--white-color);
    border: 1px solid var(--grey-border);
    font-size: 14px;
    line-height: 19px;
    padding: 10px 30px 10px 15px;
    height: 53px;
    width: 100%;
    -webkit-transition: border .3s;
    transition: border .3s
}

.input.has-value, .input:focus {
    padding-top: 25px;
    padding-bottom: 8px
}

.input.has-value + .input-label,
.input:focus + .input-label {
    font-size: 12px;
    line-height: 16px;
    top: 7px
}

.input.has-value ~ .clean-input {
    display: block
}

.input.has-value ~ .search-input-icon {
    display: none
}

.input:hover {
    border-color: #5a5a5a !important;
}

.input-holder {
    position: relative;
    width: 100%
}

.input-holder__disabled {
    opacity: .6
}

.input-holder__disabled:after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    right: 18px;
    top: 26px;
    background: url(../img/icons/ic-correct.svg) no-repeat center
}

.input-holder.error .error-text {
    display: block
}

.input-holder__disabled .input {
    pointer-events: none
}

.input-label {
    color: var(--grey);
    position: absolute;
    font-size: 14px;
    line-height: 20px;
    top: 16px;
    left: 16px;
    -webkit-transition: all .2s;
    transition: all .2s;
    pointer-events: none
}

.input-info {
    color: var(--font-color);
    display: block;
    margin: 2px 0 0;
    width: 100%;
    font-size: 12px;
    line-height: 16px
}

.input-price {
    height: 40px;
    font-size: 14px;
    line-height: 20px;
    padding: 10px 15px 10px;
    width: 95px;
    border: 1px solid #ebebec;
    box-shadow: none;
    outline: 0
}

.input-price::-webkit-input-placeholder {
    color: var(--grey)
}

.input-price::-moz-placeholder {
    color: var(--grey)
}

.input-price::-ms-input-placeholder {
    color: var(--grey)
}

.input-price::placeholder {
    color: var(--grey)
}

.input-search {
    height: 50px;
    width: 100%;
    outline: 0;
    border: 1px solid var(--grey-border);
    padding: 10px 50px 10px 20px
}

.input-search::-webkit-input-placeholder {
    color: rgba(34, 34, 34, .8)
}

.input-search::-moz-placeholder {
    color: rgba(34, 34, 34, .8)
}

.input-search::-ms-input-placeholder {
    color: rgba(34, 34, 34, .8)
}

.input-search::placeholder {
    color: rgba(34, 34, 34, .8)
}

.clean-input {
    position: absolute;
    right: 15px;
    top: 13px;
    width: 24px;
    height: 24px;
    display: none;
    cursor: pointer
}

textarea.input {
    height: 127px;
    resize: none;
    margin: 0;
    vertical-align: top;
}

legend {
    font-size: 18px;
    padding: 7px 0px
}

label {
    font-size: 12px;
    font-weight: normal;
}

select.form-control, textarea.form-control, input[type="text"].form-control, input[type="password"].form-control, input[type="datetime"].form-control, input[type="datetime-local"].form-control, input[type="date"].form-control, input[type="month"].form-control, input[type="time"].form-control, input[type="week"].form-control, input[type="number"].form-control, input[type="email"].form-control, input[type="url"].form-control, input[type="search"].form-control, input[type="tel"].form-control, input[type="color"].form-control {
    font-size: 12px;
}

.input-group input, .input-group select, .input-group .dropdown-menu, .input-group .popover {
    font-size: 12px;
}

.input-group .input-group-addon {
    font-size: 12px;
    height: 30px;
}

button {
    border: 0;
    background: transparent;
    outline: none;
}

/* Fix some bootstrap issues */
span.hidden-xs, span.hidden-sm, span.hidden-md, span.hidden-lg {
    display: inline;
}

.nav-tabs {
    margin-bottom: 15px;
}

div.required .control-label:before {
    content: '* ';
    color: #F00;
    font-weight: bold;
}

/* Gradent to all drop down menus */
.dropdown-menu li > a:hover {
    text-decoration: none;
    color: #ffffff;
    background-color: #229ac8;
    background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
    background-repeat: repeat-x;
}

/* top */
#top {
    border-bottom: 1px solid var(--grey-border);
    line-height: 18px;
    background: var(--white-color);
    display: flex;
}

#top .container {
    padding: 0 20px;
}

#top #form-currency .currency-select,
#top #form-language .language-select {
    text-align: left;
}

#top #form-currency .currency-select:hover,
#top #form-language .language-select:hover {
    text-shadow: none;
    color: #ffffff;
    background-color: #229ac8;
    background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
    background-repeat: repeat-x;
}

#top .btn-link, #top-links li, #top-links a {
    text-decoration: none;
}

a {
    outline: none !important;
}

#top .btn-link:hover, #top-links a:hover {
    color: #444;
}

#top-links .dropdown-menu a {
    text-shadow: none;
}

#top-links .dropdown-menu a:hover {
    color: #FFF;
}

#top .btn-link strong {
    font-size: 14px;
    line-height: 14px;
}

/* menu */
:root {
    --catalog-menu-width: 360px;
}

@media (min-width: 768px) and (max-width: 1199px) {
    :root {
        --catalog-menu-width: 320px;
    }
}

.category-menu-icon {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.header-menu-panel {
    background: var(--light-blue);
    position: relative;
    z-index: 1000;
}

.catalog-menu-backdrop {
    display: none;
}

.btn-open-category {
    width: var(--catalog-menu-width);
    color: var(--white-color);
    font-size: 16px;
    line-height: 24px;
    font-weight: 700;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    cursor: pointer;
    background: var(--link-color);
    padding: 15px 20px;
    border: 0;
    gap: 10px;
}

.icon-catalog-menu {
    background-image: url(../image/catalog-menu.svg);
    width: 24px;
    height: 24px;
}

.icon-catalog-menu-mobile {
    background-image: url(../image/catalog-menu-link.svg);
    height: 24px;
    margin-right: 7px;
    width: 24px;
}

.header-menu-panel .header-menu {
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    justify-content: space-between;
    width: calc(100% - var(--catalog-menu-width));
    padding: 0 0 0 20px;
}

.header-menu a {
    color: var(--white-color);
    font-size: 18px;
    line-height: 26px;
    display: inline-block;
}

.header-menu__stock {
    background: var(--orange);
    border-radius: 4px;
    padding: 7px 6px 8px;
}

#menu {
    position: relative;
}

.navbar-ex1-collapse.collapse.show,
.navbar-ex1-collapse.collapsing,
#menu .collapse {
    position: absolute;
    top: 100%;
    left: 0;
    width: var(--catalog-menu-width);
    z-index: 6;
    background: var(--lighter-blue);
    margin: 0px;
    list-style: none;
    padding: 8px 0px 7px;
}

.navbar-ex1-collapse.collapse.show > ul > li > a,
.navbar-ex1-collapse.collapsing > ul > li > a,
#menu .collapse > ul > li > a {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 52px;
    font-size: 16px;
    line-height: 24px;
    padding: 10px 20px;
}

.navbar-ex1-collapse.collapse.show > ul > li > a:hover,
.navbar-ex1-collapse.collapsing > ul > li > a:hover,
#menu .collapse > ul > li > a:hover {
    background: var(--white-color);
    opacity: 1;
    color: var(--link-color);
}


.navbar-ex1-collapse.collapse.show a,
.navbar-ex1-collapse.collapsing a,
#menu .collapse ul a {
    color: var(--font-color);
}

#menu .catalog-submenu {
    position: absolute;
    left: 100%;
    top: 0;
    min-height: 100%;
    width: min(780px, calc(100vw - var(--catalog-menu-width) - 48px));
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
    align-content: start;
    gap: 24px;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    background: var(--white-color);
    padding: 20px 24px;
    transition: opacity 0.2s;
}

#menu .collapse ul > li:hover .catalog-submenu,
#menu .collapse ul > li:focus-within .catalog-submenu {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition: none;
}

#menu .catalog-submenu > ul {
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

#menu .catalog-submenu li {
    margin: 0 0 10px;
}

#menu .catalog-submenu li:last-child {
    margin-bottom: 0;
}

#menu .catalog-submenu li a {
    display: block;
    font-size: 18px;
    line-height: 26px;
    padding: 5px 0;
    overflow-wrap: break-word;
}

#menu .collapse.home-page {
    display: block;
}

@media (min-width: 768px) {
    .catalog-menu-backdrop {
        background: var(--link-color);
        bottom: 0;
        cursor: pointer;
        display: block;
        left: 0;
        opacity: 0;
        pointer-events: none;
        position: fixed;
        right: 0;
        top: 0;
        z-index: 999;
    }

    .opened-catalog .catalog-menu-backdrop {
        opacity: .3;
        pointer-events: auto;
    }

    .opened-catalog #top,
    .opened-catalog header {
        background: var(--white-color);
        position: relative;
        z-index: 1000;
    }

    #menu .dropdown:hover .dropdown-menu {
        display: block;
    }
}

@media (max-width: 767px) {
    #menu {
        border-radius: 4px;
    }

    #menu div.dropdown-inner > ul.list-unstyled {
        display: block;
    }

    #menu div.dropdown-menu {
        margin-left: 0 !important;
        padding-bottom: 10px;
        background-color: rgba(0, 0, 0, 0.1);
    }

    #menu .dropdown-inner {
        display: block;
    }

    #menu .dropdown-inner a {
        width: 100%;
        color: #fff;
    }

    #menu .dropdown-menu a:hover,
    #menu .dropdown-menu ul li a:hover {
        background: rgba(0, 0, 0, 0.1);
    }

    #menu .see-all {
        margin-top: 0;
        border: none;
        border-radius: 0;
        color: #fff;
    }
}

/* header */


.language-select-header .btn {
    color: var(--link-color);
    border: 0;
}

.language-select-header .btn:after {
    transition: .15s ease-in-out;
    color: var(--font-color);
}

.language-select-header .btn.show:after {
    transform: rotate(180deg);
}

.language-select-header .btn.show {
    background: var(--white-color);
    box-shadow: 0 5px 25px rgba(0, 0, 0, .07);
}

.language-select-header .dropdown-menu {
    color: var(--link-color);
    padding: 0;
    border: 0;
    width: 99.5px;
    min-width: auto;
    transform: translate(0px, 33px) !important;
    border-radius: 0;
}

.language-select-header button {
    font: var(--font-size) / 23px var(--font-family);
    padding: 7.5px 12px;
}

.blog-menu-header ul {
    display: flex;
    margin: 0 auto 0 50px;
    list-style: none;
    gap: 24px;
    padding: 7.5px 0;
}

header {
    padding: 14px 0 12px;
}

.blog-menu-header ul li a {
    color: var(--font-color);
    font: var(--font-size) / 23px var(--font-family);
}

#top-links {
    height: 100%;
    display: flex;
    align-items: center;
}

#top-links ul {
    padding: 0;
    margin-bottom: 0;
    margin-left: auto;
}

#top-links ul {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 1rem;
}

.auth_btn_header {
    font: var(--font-size) / 23px var(--font-family);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.auth_btn_header .icon-user {
    background-image: url(../image/user.svg);
    width: 20px;
    height: 20px;
}

.logo-header {
    display: flex;
    gap: 38px;
    align-items: center;
}

.header-contact {
    display: flex;
    flex-direction: column;
}

.header-contact .phone-header {
    font-size: 20px;
    line-height: 27px;
    font-weight: 500;
    color: var(--font-color);
}

#search {
    position: relative;
    width: max-content;
}

#search input {
    width: 518px;
    height: 50px;
    border: 1px solid #f7f7f7;
    background: #f7f7f7;
    padding: 15px 65px 15px 20px;
    font-size: 14px;
    line-height: 19px;
    font-family: var(--font-family);
    transition: border .3s;
}

#search input:focus {
    padding-top: 15px;
    padding-bottom: 15px;
}

#search input:hover {
    border-color: #5a5a5a;
}

#search.has-voice-search input {
    padding-right: 105px;
}

#search .search-actions {
    align-items: center;
    display: flex;
    gap: 2px;
    height: 50px;
    position: absolute;
    right: 10px;
    top: 0;
    z-index: 10;
}

#search .search-btn,
#search .voice-search-btn {
    align-items: center;
    background: transparent;
    border: none;
    color: var(--font-color);
    display: flex;
    height: 38px;
    justify-content: center;
    outline: none;
    padding: 0;
    width: 38px;
}

#search .search-btn:focus-visible,
#search .voice-search-btn:focus-visible,
.search-voice-retry:focus-visible {
    outline: 2px solid var(--link-color);
    outline-offset: 2px;
}

#search .voice-search-btn {
    border-radius: 50%;
    font-size: 18px;
    transition: background-color .2s, color .2s;
}

#search .voice-search-btn .fa {
    font-size: 20px;
    line-height: 1;
}

#search .voice-search-btn:hover {
    background: rgba(0, 137, 123, .1);
    color: var(--link-color);
}

#search .voice-search-btn.is-listening {
    background: rgba(229, 57, 53, .1);
    color: #e53935;
}

#search .voice-search-btn[hidden] {
    display: none;
}

.search-autocomplete {
    background: var(--white-color);
    border: 1px solid var(--grey-border);
    border-radius: 0 0 12px 12px;
    box-shadow: 0 18px 45px rgba(34, 34, 34, .14);
    display: none;
    left: 0;
    max-height: min(70vh, 640px);
    overflow-y: auto;
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    width: 100%;
    z-index: 1001;
}

.search-autocomplete.is-open {
    display: block;
}

.search-autocomplete__group-title {
    color: var(--grey);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .06em;
    padding: 12px 16px 6px;
    text-transform: uppercase;
}

.search-autocomplete__product,
.search-autocomplete__entity {
    align-items: center;
    color: var(--font-color);
    display: flex;
    gap: 12px;
    padding: 8px 16px;
    text-decoration: none;
}

.search-autocomplete__product:hover,
.search-autocomplete__product.is-active,
.search-autocomplete__entity:hover,
.search-autocomplete__entity.is-active {
    background: #f7f7f7;
    color: var(--font-color);
    text-decoration: none;
}

.search-autocomplete__product img {
    background: #fff;
    border-radius: 6px;
    flex: 0 0 56px;
    object-fit: contain;
}

.search-autocomplete__product-info,
.search-autocomplete__product-name {
    display: block;
}

.search-autocomplete__product-info {
    min-width: 0;
}

.search-autocomplete__product-name {
    font-size: 13px;
    line-height: 18px;
}

.search-autocomplete__price {
    display: block;
    font-size: 13px;
    font-weight: 600;
    margin-top: 4px;
}

.search-autocomplete__entity {
    font-size: 13px;
    justify-content: space-between;
}

.search-autocomplete__entity small {
    color: var(--grey);
}

.search-autocomplete__all {
    border-top: 1px solid var(--grey-border);
    color: var(--link-color);
    display: block;
    font-size: 13px;
    font-weight: 600;
    padding: 14px 16px;
    text-align: center;
}

.search-autocomplete__loading,
.search-autocomplete__empty {
    color: var(--grey);
    padding: 20px 16px;
    text-align: center;
}

.search-voice-status {
    align-items: center;
    display: flex;
    gap: 12px;
    min-height: 72px;
    padding: 14px 16px;
}

.search-voice-status__icon {
    align-items: center;
    background: rgba(0, 137, 123, .1);
    border-radius: 50%;
    color: var(--link-color);
    display: flex;
    flex: 0 0 42px;
    font-size: 20px;
    height: 42px;
    justify-content: center;
}

.search-voice-status.is-listening .search-voice-status__icon,
#search .voice-search-btn.is-listening {
    animation: search-voice-pulse 1.4s ease-out infinite;
}

.search-voice-status.is-listening .search-voice-status__icon {
    background: rgba(229, 57, 53, .1);
    color: #e53935;
}

.search-voice-status.is-error .search-voice-status__icon {
    background: rgba(229, 57, 53, .1);
    color: #e53935;
}

.search-voice-status__text {
    color: var(--font-color);
    flex: 1 1 auto;
    font-size: 13px;
    line-height: 18px;
    min-width: 0;
}

.search-voice-retry {
    background: transparent;
    border: 1px solid var(--link-color);
    border-radius: 18px;
    color: var(--link-color);
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 600;
    line-height: 16px;
    padding: 7px 12px;
}

.search-voice-retry:hover {
    background: var(--link-color);
    color: var(--white-color);
}

@keyframes search-voice-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(229, 57, 53, .28);
    }
    70%, 100% {
        box-shadow: 0 0 0 9px rgba(229, 57, 53, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .search-voice-status.is-listening .search-voice-status__icon,
    #search .voice-search-btn.is-listening {
        animation: none;
    }
}

.icon-search {
    background-image: url(../image/search.svg);
    width: 24px;
    height: 24px;
}

.icon-favorite {
    background-image: url(../image/favorite.svg);
    width: 24px;
    height: 24px;
}

#wishlist-total {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    height: max-content;
}

#wishlist-total span {
    position: absolute;
    left: 17px;
    top: -7px;
    min-width: 24px;
    height: 24px;
    border-radius: 12px;
    padding: 0 2px;
    background: var(--link-color);
    border: 2px solid #fafafa;
    font-size: 12px;
    line-height: 22px;
    text-align: center;
    font-weight: 500;
    color: var(--white-color);
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon-basket {
    background-image: url(../image/basket.svg);
    width: 24px;
    height: 24px;
}

.cart-header {
    display: flex;
    gap: 10px;
    justify-content: end;
    align-items: center;
}

.header-user-box {
    display: flex;
    gap: 25px;
    justify-content: end;
    align-items: center;
}

.mobile-burger-button,
.mobile-menu-backdrop,
.mobile-menu-drawer {
    display: none;
}

#cart {
    display: flex;
    align-items: center;
}

#cart button {
    background: none;
    border: none;
    position: relative;
    padding: 0;
}

#cart button #cart-total {
    display: flex;
    align-items: center;
    gap: 19px;
    vertical-align: middle;
    font-size: 14px;
}

#cart button #cart-total .count {
    position: absolute;
    left: 17px;
    top: -7px;
    min-width: 24px;
    height: 24px;
    border-radius: 12px;
    padding: 0 2px;
    background: var(--link-color);
    border: 2px solid #fafafa;
    font-size: 12px;
    line-height: 22px;
    text-align: center;
    font-weight: 500;
    color: var(--white-color);
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 767px) {
    body.opened-burger,
    body.search-opened {
        overflow-x: hidden;
    }

    #top,
    .header-menu-panel {
        display: none;
    }

    header {
        background: var(--white-color);
        padding: 0;
        position: sticky;
        top: 0;
        z-index: 99;
    }

    header > .container {
        max-width: none;
        padding-left: 15px;
        padding-right: 15px;
    }

    header .header-main-row {
        align-items: center;
        flex-wrap: nowrap;
        height: 54px;
        margin-left: -15px;
        margin-right: -15px;
        padding: 0 15px;
        position: relative;
        border-bottom: 1px solid var(--grey-border);
    }

    .mobile-burger-button {
        background: transparent;
        border: 0;
        cursor: pointer;
        display: block;
        flex: 0 0 24px;
        height: 24px;
        margin: 0 10px 0 0;
        padding: 0;
        position: relative;
        width: 24px;
    }

    .mobile-burger-button span {
        background: var(--font-color);
        height: 2px;
        left: 3px;
        position: absolute;
        width: 18px;
    }

    .mobile-burger-button span:nth-child(1) {
        top: 4px;
    }

    .mobile-burger-button span:nth-child(2) {
        top: 11px;
        width: 12px;
    }

    .mobile-burger-button span:nth-child(3) {
        top: 18px;
    }

    .logo-header {
        display: block;
        flex: 0 0 auto;
        padding: 0;
        width: auto;
    }

    .logo-header #logo {
        display: flex;
        align-items: center;
    }

    .logo-header #logo img {
        display: block;
        height: auto;
        max-height: 35px;
        width: 90px;
    }

    .header-contact {
        display: none;
    }

    .header-main-row > .col-sm-5 {
        flex: 0 0 24px;
        margin-left: auto;
        padding: 0;
        width: 24px;
    }

    #search {
        height: 24px;
        width: 24px;
    }

    #search input {
        display: none;
    }

    #search .search-actions {
        height: 24px;
        position: static;
        width: 24px;
    }

    #search .voice-search-btn {
        display: none;
    }

    #search .search-btn {
        align-items: center;
        display: flex;
        height: 24px;
        justify-content: center;
        width: 24px;
    }

    body.search-opened #search {
        background: var(--white-color);
        box-shadow: 0 12px 24px rgba(0, 0, 0, .08);
        height: 95px;
        left: 0;
        padding: 15px;
        position: absolute;
        right: 0;
        top: 54px;
        width: 100vw;
        z-index: 100;
    }

    body.search-opened #search input {
        background: #f7f7f7;
        border-color: #f7f7f7;
        display: block;
        height: 50px;
        padding: 15px 60px 15px 20px;
        width: 100%;
    }

    body.search-opened #search.has-voice-search input {
        padding-right: 105px;
    }

    body.search-opened #search input:focus {
        border-color: #f7f7f7;
        box-shadow: none;
        outline: none;
    }

    body.search-opened #search .search-actions {
        height: 50px;
        position: absolute;
        right: 20px;
        top: 15px;
        width: auto;
    }

    body.search-opened #search.has-voice-search .voice-search-btn {
        display: flex;
    }

    body.search-opened #search .search-btn,
    body.search-opened #search .voice-search-btn {
        height: 38px;
        width: 38px;
    }

    body.search-opened #search .voice-search-btn[hidden] {
        display: none;
    }

    body.search-opened .search-autocomplete {
        left: 15px;
        max-height: calc(100vh - 145px);
        right: 15px;
        top: 71px;
        width: auto;
    }

    .cart-header {
        flex: 0 0 auto;
        gap: 10px;
        justify-content: flex-end;
        padding: 0;
        width: auto;
    }

    .cart-header > .accessibility-switcher {
        flex: 0 0 38px;
        height: 28px;
        width: 38px;
    }

    .header-user-box {
        gap: 10px;
    }

    #wishlist-total,
    #cart button #cart-total {
        font-size: 0;
        gap: 5px;
        height: 24px;
        width: auto;
    }

    #wishlist-total span,
    #cart button #cart-total .count {
        border: 0;
        display: flex;
        flex: 0 0 24px;
        font-size: 12px;
        height: 24px;
        left: auto;
        line-height: 24px;
        margin-left: 0;
        position: static;
        top: auto;
        width: 24px;
    }

    #cart,
    #cart button {
        height: 24px;
    }

    .mobile-menu-backdrop {
        background: rgba(89, 180, 180, .45);
        bottom: 0;
        display: block;
        left: 0;
        opacity: 0;
        pointer-events: none;
        position: fixed;
        right: 0;
        top: 0;
        transition: opacity .3s ease;
        z-index: 99;
    }

    .opened-burger .mobile-menu-backdrop {
        opacity: 1;
        pointer-events: auto;
    }

    .opened-burger header {
        z-index: 97;
    }

    .mobile-menu-drawer {
        background: var(--white-color);
        bottom: 0;
        color: var(--font-color);
        display: flex;
        flex-direction: column;
        font: 14px / 23px var(--font-family);
        left: -310px;
        position: fixed;
        top: 0;
        transition: left .3s ease;
        width: 265px;
        z-index: 100;
    }

    .opened-burger .mobile-menu-drawer {
        left: 0;
    }

    .mobile-menu-top {
        background: var(--light-blue);
        color: var(--white-color);
        flex: 0 0 auto;
        padding: 10px 15px;
    }

    .mobile-menu-top__row {
        align-items: center;
        display: flex;
        min-height: 22px;
    }

    .mobile-menu-close {
        background: var(--link-color);
        border: 0;
        border-radius: 50%;
        cursor: pointer;
        height: 36px;
        left: -36px;
        padding: 0;
        position: fixed;
        top: 50%;
        transform: translateY(-50%);
        transition: left .3s ease;
        width: 36px;
    }

    .opened-burger .mobile-menu-close {
        left: 274px;
    }

    .mobile-menu-close:before,
    .mobile-menu-close:after {
        background: var(--white-color);
        content: '';
        height: 2px;
        left: 8px;
        position: absolute;
        top: 17px;
        width: 20px;
    }

    .mobile-menu-close:before {
        transform: rotate(45deg);
    }

    .mobile-menu-close:after {
        transform: rotate(-45deg);
    }

    .mobile-menu-logo {
        height: 28px;
        width: 90px;
    }

    .mobile-menu-logo img {
        display: block;
        height: auto;
        max-height: 28px;
        width: 90px;
    }

    .mobile-menu-language {
        align-items: center;
        display: flex;
        margin-left: auto;
    }

    .mobile-menu-language button {
        background: transparent;
        border: 0;
        color: var(--white-color);
        font-size: 14px;
        line-height: 18px;
        padding: 0;
    }

    .mobile-menu-language button + button:before {
        content: '|';
        font-size: 18px;
        line-height: 18px;
        margin: 0 7px;
        opacity: .85;
    }

    .mobile-menu-language button.active {
        opacity: .55;
    }

    .mobile-menu-body {
        background: var(--lighter-blue);
        flex: 1 1 auto;
        overflow: auto;
    }

    .mobile-menu-holder {
        background: var(--white-color);
        padding: 0 15px;
        position: static;
    }

    .mobile-menu-item {
        padding: 15px 0;
    }

    .mobile-menu-item--border {
        border-bottom: 1px solid var(--grey-border);
    }

    .mobile-menu-city,
    .mobile-menu-login {
        align-items: center;
        display: flex;
        gap: 5px;
    }

    .mobile-menu-city > span {
        white-space: nowrap;
    }

    .mobile-menu-city a,
    .mobile-menu-login,
    .mobile-menu-bottom a,
    .mobile-menu-links a {
        color: var(--font-color);
    }

    .mobile-catalog-toggle {
        align-items: center;
        color: var(--link-color);
        display: flex;
        font-size: 16px;
        font-weight: 700;
        line-height: 22px;
        position: relative;
    }

    .mobile-catalog-toggle .icon-catalog-menu-mobile {
        flex: 0 0 24px;
    }

    .mobile-catalog-toggle:after,
    .mobile-menu-drawer .submenu-link:after {
        border-color: transparent transparent transparent var(--font-color);
        border-style: solid;
        border-width: 3px 0 3px 4px;
        content: '';
        height: 0;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 0;
    }

    .mobile-menu-links a {
        display: block;
        font-weight: 600;
    }

    .mobile-menu-links .mobile-menu-item:last-child a {
        color: var(--red);
    }

    .mobile-menu-login .icon-user {
        background-image: url(../image/user.svg);
        height: 24px;
        width: 24px;
    }

    .mobile-menu-phone .phone-header {
        color: var(--font-color);
        display: block;
        font-size: 20px;
        font-weight: 600;
        line-height: 27px;
        margin-bottom: 0;
    }

    .mobile-menu-bottom {
        list-style: none;
        margin: 0;
    }

    .mobile-menu-bottom li {
        line-height: 18px;
        margin-bottom: 15px;
    }

    .mobile-menu-bottom li:last-child {
        margin-bottom: 0;
    }

    .mobile-menu-drawer .submenu {
        background: var(--white-color);
        height: auto;
        left: -100%;
        list-style: none;
        margin: 0;
        min-height: 100%;
        padding: 0;
        position: absolute;
        top: 0;
        transition: left .4s ease;
        width: 100%;
        z-index: 1;
    }

    .mobile-menu-drawer .submenu.active {
        left: 0;
    }

    .mobile-menu-drawer .submenu .back {
        align-items: center;
        background: var(--link-color);
        color: var(--white-color);
        cursor: pointer;
        display: flex;
        font-size: 14px;
        font-weight: 700;
        height: auto;
        line-height: 19px;
        min-height: 55px;
        padding: 12px 40px;
        position: relative;
        text-transform: uppercase;
    }

    .mobile-menu-drawer .submenu .back:before {
        border-color: transparent var(--white-color) transparent transparent;
        border-style: solid;
        border-width: 3px 4px 3px 0;
        content: '';
        height: 0;
        left: 20px;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 0;
    }

    .mobile-menu-drawer .submenu li {
        background: var(--white-color);
        font-size: 16px;
        line-height: 22px;
        padding: 0 15px;
    }

    .mobile-menu-drawer .submenu a {
        border-bottom: 1px solid var(--grey-border);
        color: var(--font-color);
        display: block;
        font-size: 17px;
        line-height: 24px;
        padding: 15px 0;
        position: relative;
    }

    .mobile-menu-drawer .mobile-submenu-catalog > li > a {
        display: flex;
        align-items: center;
        gap: 10px;
        padding-right: 18px;
    }

    .mobile-submenu-catalog .category-menu-icon {
        flex-basis: 24px;
        width: 24px;
        height: 24px;
    }

}

/* content */
#content {
    min-height: 600px;
}

/*subscription*/

.subscription {
    background: var(--subs-bg);
    padding: 30px 0;
    position: relative;
    overflow: hidden;
}

.subscription .title-section h2 {
    font-size: 20px;
    line-height: 28px;
    margin: 0 0 10px;
}

.subscription .title-section span {
    font-size: 16px;
    line-height: 22px;
}

.subscription .input {
    border-color: var(--white-color);
    height: 50px;
}

.subscription .input-label {
    color: var(--grey2);
}

.subscription .btn {
    width: 100%;
    background: var(--link-color);
    color: var(--white-color);
    border: 0;
    border-radius: 0;
}

/* footer */

footer {
    padding: 30px 0 11px;
}

footer .footer-logo-section .logo-footer {
    margin: 0 0 15px;
}

footer .footer-logo-section .logo-footer img {
    width: 124px;
}

footer .footer-logo-section .footer-info {
    font-size: 12px;
    line-height: 18px;
    text-align: left;
    color: #8E8E8E;
    margin-bottom: 1rem;
    white-space: nowrap;
}

.footer__moz-container {
    display: flex;
    justify-content: start;
    align-items: start;
    gap: 16px;
    flex-wrap: wrap
}

.footer__moz-container a.footer__moz-container-link {
    font-size: 11px;
    max-width: 128px;
    color: #000;
    text-decoration: underline;
    font-weight: 600;
    line-height: 14px;
}

.footer__moz-container .footer__moz-container-bordered {
    border: 1px solid #eaecf0;
    border-radius: 6px;
    height: 102px;
    width: 128px;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center
}

.footer-contact .info-title {
    color: #353535;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 10px;
    letter-spacing: 2px;
}

i[class^=icon-] {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    background-repeat: no-repeat;
    vertical-align: middle;
}

.icon-facebook {
    background-image: url(../image/social/facebook.svg);
    width: 24px;
    height: 24px;
}

.icon-instagram {
    background-image: url(../image/social/instagram.svg);
    width: 24px;
    height: 24px;
}

.icon-tiktok {
    background-image: url(../image/social/tiktok.svg);
    width: 24px;
    height: 24px;
}

@media screen and (min-width: 768px) {
    .footer-socials {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        gap: 1em;
    }

    .subscription .title-section h2 {
        font-size: 24px;
        line-height: 33px;
        margin: 0 0 5px;
    }

    .subscription-form-inner {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        max-width: 460px;
        margin: 0 auto;
    }

    .subscription-btn {
        margin: 0;
        width: 190px;
        min-width: 190px;
    }
}

@media screen and (min-width: 1280px) {
    .footer-socials {
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
}

.footer-socials {
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-navigation li {
    font-size: 14px;
    line-height: 20px;
    margin: 0 0 12px;
}

.footer-navigation a {
    color: #022226;
}

.footer-phone {
    font-size: 20px;
    line-height: 27px;
    font-weight: 600;
    margin: 0 0 3px;
    white-space: nowrap;
}

.work-time {
    color: #8E8E8E;
    font-size: 13px;
    line-height: 18px;
}

.footer-main {
    padding-bottom: 20px;
}


.copyright {
    font-size: 12px;
    line-height: 18px;
    margin: 0 0 13px;
}


.footer-bottom-menu {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-bottom-menu li {
    margin: 2px 15px 7px 0;
    font-size: 12px;
    line-height: 18px;
}

.footer-bottom-menu a {
    color: var(--grey);
}


.payment-info p {
    margin: 0 10px 0 0;
}

.payment-info ul {
    display: flex;
    gap: 16px;
    padding: 0;
    margin: 0;
}

.payment-info ul li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

/* alert */
.alert {
    padding: 8px 14px 8px 14px;
}

/* breadcrumb */
.breadcrumb {
    padding: 10px 0 15px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0;
    list-style: none;
    max-width: 100%;
    overflow-x: auto;
}

.breadcrumb li {
    margin-right: 14px;
    position: relative;
    font-size: 13px;
    line-height: 18px;
    white-space: nowrap;
    color: var(--grey);
}

.breadcrumb a {
    color: var(--font-color);
    white-space: nowrap;
}

.breadcrumb li:not(:last-child):after {
    content: '';
    width: 4px;
    height: 4px;
    position: absolute;
    right: -9px;
    top: 7px;
    background: var(--breadcrumbs);
}

.pagination {
    margin: 20px 0 50px;
}

/* buttons */
.buttons {
    margin: 1em 0;
}

.btn {
    padding: 7.5px 12px;
    font-size: 12px;
    border: 1px solid #cccccc;
    border-radius: 4px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 1px 2px rgba(0, 0, 0, .05);
}

.btn {
    font-family: var(--font-family);
    -webkit-transition: all .3s;
    transition: all .3s;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    text-align: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 16px;
    line-height: 24px;
    padding: 13px 14px;
    font-weight: 600;
    cursor: pointer;
}

.btn:hover {
    background-color: var(--btn-hover);
    opacity: 1;
}

.btn-check:focus + .btn, .btn:focus {
    outline: 0;
    box-shadow: none !important;
}

.btn-xs {
    font-size: 9px;
}

.btn-sm {
    font-size: 10.2px;
}

.btn-lg {
    padding: 10px 16px;
    font-size: 15px;
}

.btn-group > .btn, .btn-group > .dropdown-menu, .btn-group > .popover {
    font-size: 12px;
}

.btn-group > .btn-xs {
    font-size: 9px;
}

.btn-group > .btn-sm {
    font-size: 10.2px;
}

.btn-group > .btn-lg {
    font-size: 15px;
}

.btn-default {
    color: #777;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    background-color: #e7e7e7;
    background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
    background-repeat: repeat-x;
    border-color: #dddddd #dddddd #b3b3b3 #b7b7b7;
}

.btn-primary {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #229ac8;
    background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
    background-repeat: repeat-x;
    border-color: #1f90bb #1f90bb #145e7a;
}

.btn-primary:hover, .btn-primary:active, .btn-primary.active, .btn-primary.disabled, .btn-primary[disabled] {
    background-color: #1f90bb;
    background-position: 0 -15px;
}

#product-product .product-summary-cart-button {
    background: var(--link-color);
    border-color: var(--link-color);
    box-shadow: none;
    color: var(--white-color);
    text-shadow: none;
}

#product-product .product-summary-cart-button:active,
#product-product .product-summary-cart-button:focus {
    background: var(--btn-pressed);
    border-color: var(--btn-pressed);
    color: var(--white-color);
    outline: none;
}

#product-product .product-summary-cart-button:hover {
    background: var(--btn-hover);
    border-color: var(--btn-hover);
    color: var(--white-color);
}

.btn-warning {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #faa732;
    background-image: linear-gradient(to bottom, #fbb450, #f89406);
    background-repeat: repeat-x;
    border-color: #f89406 #f89406 #ad6704;
}

.btn-warning:hover, .btn-warning:active, .btn-warning.active, .btn-warning.disabled, .btn-warning[disabled] {
    box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}

.btn-danger {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #da4f49;
    background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
    background-repeat: repeat-x;
    border-color: #bd362f #bd362f #802420;
}

.btn-danger:hover, .btn-danger:active, .btn-danger.active, .btn-danger.disabled, .btn-danger[disabled] {
    box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}

.btn-success {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #5bb75b;
    background-image: linear-gradient(to bottom, #62c462, #51a351);
    background-repeat: repeat-x;
    border-color: #51a351 #51a351 #387038;
}

.btn-success:hover, .btn-success:active, .btn-success.active, .btn-success.disabled, .btn-success[disabled] {
    box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}

.btn-info {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #df5c39;
    background-image: linear-gradient(to bottom, #e06342, #dc512c);
    background-repeat: repeat-x;
    border-color: #dc512c #dc512c #a2371a;
}

.btn-info:hover, .btn-info:active, .btn-info.active, .btn-info.disabled, .btn-info[disabled] {
    background-image: none;
    background-color: #df5c39;
}

.btn-link {
    border-color: rgba(0, 0, 0, 0);
    cursor: pointer;
    color: #23A1D1;
    border-radius: 0;
}

.btn-link, .btn-link:active, .btn-link[disabled] {
    background-color: rgba(0, 0, 0, 0);
    background-image: none;
    box-shadow: none;
}

.btn-inverse {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #363636;
    background-image: linear-gradient(to bottom, #444444, #222222);
    background-repeat: repeat-x;
    border-color: #222222 #222222 #000000;
}

.btn-inverse:hover, .btn-inverse:active, .btn-inverse.active, .btn-inverse.disabled, .btn-inverse[disabled] {
    background-color: #222222;
    background-image: linear-gradient(to bottom, #333333, #111111);
}

/* list group */
.list-group a {
    border: 1px solid #DDDDDD;
    color: #888888;
    padding: 8px 12px;
}

.list-group a.active, .list-group a.active:hover, .list-group a:hover {
    color: #444444;
    background: #eeeeee;
    border: 1px solid #DDDDDD;
    text-shadow: 0 1px 0 #FFF;
}

/* carousel */
.carousel-caption {
    color: #FFFFFF;
    text-shadow: 0 1px 0 #000000;
}

.carousel-control .icon-prev:before {
    content: '\f053';
    font-family: FontAwesome;
}

.carousel-control .icon-next:before {
    content: '\f054';
    font-family: FontAwesome;
}

/* sort */
.sort-wrap {
    border: 0;
    padding: 0;
}

.sort-wrap .sort-links {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.sort-wrap .sort-label {
    color: var(--grey);
    font-size: 14px;
    line-height: 20px;
}

.sort-wrap .sort-item {
    position: relative;
    font-size: 14px;
}

.sort-wrap .sort-item.active::before {
    content: "";
    position: absolute;
    top: -15px;
    left: 0;
    right: 0;
    height: 2px;
    background-color: var(--link-color);
}

.sort-wrap a {
    color: var(--link-color);
}

/* product list */
.product-thumb {
    border: 1px solid var(--grey-border);
    overflow: auto;
    height: 100%;
}

.product-list:hover {
    z-index: 1;
}

.product-list:hover .product-thumb {
    height: 100%;
    border-color: var(--link-color);
    border-bottom: 1px solid transparent;
}

.product-thumb .image {
    text-align: center;
}

.product-thumb .image a {
    display: block;
}

.product-thumb .image a:hover {
    opacity: 0.8;
}

.product-thumb .image img {
    margin-left: auto;
    margin-right: auto;
}

.product-grid .product-thumb .image {
    float: none;
}

@media (min-width: 767px) {
    .product-list .product-thumb .image {
        width: 100%;
        padding: 0 20px;
    }
}

.product-thumb h4 a {
    color: var(--font-color);
    font-size: 16px;
    line-height: 22px;
    max-height: 44px;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0 0 10px;
}

.product-thumb .caption {
    padding: 0 20px;
}

@media (max-width: 1200px) {
    .product-grid .product-thumb .caption {
        padding: 0 10px;
    }
}

@media (max-width: 767px) {
    .product-list .product-thumb .caption {
        min-height: 0;
        margin-left: 0;
        padding: 0 10px;
    }

    .product-grid .product-thumb .caption {
        min-height: 0;
    }
}

.product-thumb .rating {
    padding-bottom: 10px;
}

.rating .fa-stack {
    font-size: 8px;
}

.rating .fa-star-o {
    color: #999;
    font-size: 15px;
}

.rating .fa-star {
    color: #E69500;
}

.review-rating {
    align-items: center;
    display: flex;
    gap: 3px;
}

.review-rating__star {
    background: url('../image/icons/star-grey.svg') no-repeat center / 18px 19px;
    flex: 0 0 18px;
    height: 19px;
    width: 18px;
}

.review-rating__star--full {
    background-image: url('../image/icons/star.svg');
}

.product-thumb .review-rating {
    padding-bottom: 10px;
}

h2.price {
    margin: 0;
}

.product-thumb .price {
    color: #000;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

#product-category .module_wrap {
    background: var(--lighter-blue);
    padding: 10px 20px;
}

.product-thumb .price-new {
    font-weight: 600;
    font-size: 20px;
    white-space: nowrap;
}

.product-thumb .price-old {
    position: relative;
    font-size: 16px;
    font-weight: 600;
    color: var(--font-color-grey);
}

.product-thumb .price-old::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    height: 1px;
    width: 100%;
    background: var(--red);
}

.product-thumb .price-prefix {
    font-size: 16px;
    font-weight: 400;
}

.product-thumb .price-saving {
    background: #ffe9e5;
    color: #000;
    flex: 0 0 100%;
    font-size: 14px;
    line-height: 1.35;
    padding: 3px 7px;
    width: fit-content;
}

.product-thumb .price-saving strong {
    color: var(--red);
    font-weight: 600;
}

.price .price-saving {
    background: #ffe9e5;
    color: #000;
    display: block;
    font-size: 14px;
    line-height: 1.35;
    margin-top: 4px;
    padding: 3px 7px;
    width: fit-content;
}

.price .price-saving strong {
    color: var(--red);
    font-weight: 600;
}
.modal .modal-content {
    border: 0 !important;
    box-shadow: 1px 1px 23px #000000b8 !important;
}
.geo-city-modal {
    z-index: 1085;
}
.product-thumb .button-group {
    border-top: 1px solid #ddd;
    background-color: #eee;
    overflow: auto;
}

.product-list {
    position: relative;
}

.product-list .product-thumb .button-group {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    width: 100%;
    border-left: 1px solid var(--link-color);
    border-right: 1px solid var(--link-color);
    border-bottom: 1px solid var(--link-color);
    border-top: 1px solid transparent;
    padding: 0 20px 20px;
}
.product-list .product-thumb .button-group .product-check-stocks {
    display: flex;
    width: 100%;
    margin-top: 10px;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: var(--font-color);
    text-decoration: none;
}
.product-list .product-thumb .button-group .product-check-stocks .icon-pin-24 {
    display: inline-block;
    flex-shrink: 0;
    background-size: contain;
    background-repeat: no-repeat;
}
.product-list:hover .product-thumb .button-group {
    display: block;
}

@media (max-width: 768px) {
    .product-list .product-thumb .button-group {
        border-left: none;
    }
}

.product-thumb .button-group .button_add_to_cart {
    color: var(--white-color);
    background: var(--link-color);
    max-width: 206px;
    margin-right: 15px;
    width: calc(100% - 39px);
    height: 40px;
    font-size: 14px;
    line-height: 14px;
    font-weight: 600;
    padding: 8px 15px;
    transition: .15s ease-in-out;
}

.product-thumb .button-group .button_add_to_cart:hover {
    background-color: var(--btn-hover);
}

.product-thumb .button-group .button_wishlist i {
    font-size: 23px;
}

/* Shared category and medical-usage listing */
:is(#product-category, .catalog-page).catalog-page {
    max-width: 1600px;
}

:is(#product-category, .catalog-page) .breadcrumb {
    background: transparent;
    border-radius: 0;
    color: var(--grey);
    display: flex;
    flex-wrap: nowrap;
    list-style: none;
    margin: 0;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 10px 0 15px;
    scrollbar-width: none;
    white-space: nowrap;
}

:is(#product-category, .catalog-page) .breadcrumb::-webkit-scrollbar {
    display: none;
}

:is(#product-category, .catalog-page) .breadcrumb li {
    color: var(--grey);
    flex: 0 0 auto;
    font-size: 13px;
    line-height: 18px;
    margin-right: 14px;
    position: relative;
}

:is(#product-category, .catalog-page) .breadcrumb li::before {
    display: none;
}

:is(#product-category, .catalog-page) .breadcrumb li:not(:last-child)::after {
    background: var(--breadcrumbs);
    content: '';
    height: 4px;
    position: absolute;
    right: -9px;
    top: 7px;
    width: 4px;
}

:is(#product-category, .catalog-page) .breadcrumb a {
    color: var(--font-color);
}

:is(#product-category, .catalog-page) h1 {
    margin: 0 0 20px;
}

:is(#product-category, .catalog-page) .catalog-heading {
    margin: 0;
}

:is(#product-category, .catalog-page) .filter-panel {
    align-items: flex-start;
    border: 0;
    display: flex;
    justify-content: space-between;
    margin: 0 0 15px;
    padding: 0;
}

:is(#product-category, .catalog-page) .ocf-btn-mobile-static {
    border: 0 !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    text-align: left !important;
    width: auto !important;
}

:is(#product-category, .catalog-page) .ocf-btn-mobile-static .ocf-btn {
    align-items: center;
    background: var(--lighter-blue) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--link-color) !important;
    display: inline-flex !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    gap: 8px;
    height: 50px;
    justify-content: flex-start;
    line-height: 24px !important;
    padding: 13px 9px !important;
    width: 134px;
}

:is(#product-category, .catalog-page) .ocf-btn-mobile-static .ocf-sliders {
    filter: none !important;
    margin: 0 !important;
    order: -1;
}

.sorting-block {
    align-items: flex-end;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    font-size: 14px;
    line-height: 20px;
    margin-left: auto;
    padding: 0 !important;
    position: relative;
    width: 140px;
}

.sorting-title {
    color: var(--grey);
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 2px;
}

.sorting-selected {
    align-items: center;
    background: transparent;
    border: 0;
    box-shadow: none;
    color: var(--link-color);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    justify-content: flex-end;
    line-height: 18px;
    padding: 0;
    position: relative;
    text-align: right;
    width: 100%;
}

.icon-sorting {
    display: none;
    height: 4px;
    margin-left: 6px;
    position: relative;
    transition: transform .3s ease;
    width: 6px;
}

.icon-sorting::after {
    border-color: var(--font-color) transparent transparent transparent;
    border-style: solid;
    border-width: 4px 3px 0 3px;
    content: '';
    height: 0;
    left: 0;
    position: absolute;
    top: 0;
    width: 0;
}

.sorting-list {
    background: var(--white-color);
    box-shadow: 0 20px 52px 1px rgba(126, 126, 126, 0.08);
    display: none;
    list-style: none;
    margin: 0;
    min-width: 170px;
    padding: 20px 20px 5px;
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    z-index: 20;
}

.sorting-opened .sorting-list {
    display: block;
}

.sorting-opened .icon-sorting {
    transform: rotate(-180deg);
}

.sorting-item {
    margin: 0 0 10px;
}

.sorting-link {
    color: var(--font-color);
    display: inline-flex;
    padding-bottom: 5px;
}

.sorting-link__selected {
    color: var(--link-color);
    cursor: default;
    pointer-events: none;
    position: relative;
}

:is(#product-category, .catalog-page) .products-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 20px;
}

:is(#product-category, .catalog-page) .catalog-content > .row {
    margin-left: 0;
    margin-right: 0;
}

:is(#product-category, .catalog-page) .products-list > .product-layout {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 0 !important;
    width: 100%;
}

:is(#product-category, .catalog-page) .product-thumb {
    background: var(--white-color);
    border: 1px solid var(--grey-border);
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: visible;
    padding: 20px;
}

:is(#product-category, .catalog-page) .product-thumb .image {
    align-items: center;
    display: flex;
    height: 240px;
    justify-content: center;
    padding: 0;
    width: 100%;
}

:is(#product-category, .catalog-page) .product-thumb .image a {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%;
}

:is(#product-category, .catalog-page) .product-thumb .image img {
    display: block;
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
}

:is(#product-category, .catalog-page) .product-thumb .caption {
    padding: 10px 0 0;
}

:is(#product-category, .catalog-page) .product-thumb h4 {
    margin: 0;
}

:is(#product-category, .catalog-page) .product-thumb h4 a {
    color: var(--font-color);
    display: -webkit-box;
    font-size: 16px;
    line-height: 22px;
    margin: 0 0 10px;
    max-height: 44px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

:is(#product-category, .catalog-page) .product-thumb .price {
    color: var(--font-color);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    line-height: 25px;
    margin: 0;
}

:is(#product-category, .catalog-page) .product-thumb .price-new {
    font-size: 20px;
    font-weight: 600;
    white-space: nowrap;
}

:is(#product-category, .catalog-page) .product-thumb .price-prefix {
    font-size: 16px;
}

:is(#product-category, .catalog-page) .product-thumb .button-group {
    background: var(--white-color);
    border: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    left: auto;
    margin-top: 15px;
    overflow: visible;
    padding: 0;
    position: static;
    right: auto;
    top: auto;
    width: auto;
}

:is(#product-category, .catalog-page) .product-thumb .button-group .button_add_to_cart {
    align-items: center;
    background: var(--link-color);
    border: 0;
    color: var(--white-color);
    display: inline-flex;
    flex: 0 1 calc(100% - 39px);
    font-size: 14px;
    font-weight: 600;
    height: 40px;
    justify-content: center;
    line-height: 20px;
    margin: 0;
    max-width: none;
    min-width: 0;
    padding: 8px 15px;
    transition: background-color .15s ease-in-out;
}

:is(#product-category, .catalog-page) .product-thumb .button-group .button_add_to_cart:hover {
    background: var(--btn-hover);
}

:is(#product-category, .catalog-page) .product-thumb .button-group .button_wishlist {
    align-items: center;
    background: var(--white-color);
    border: 0;
    color: var(--font-color);
    display: inline-flex;
    flex: 0 0 24px;
    height: 40px;
    justify-content: center;
    margin: 0 0 0 15px;
    padding: 0;
    width: 24px;
}

:is(#product-category, .catalog-page) .product-thumb .button-group .product-check-stocks {
    align-items: center;
    color: var(--font-color);
    display: flex;
    flex: 0 0 100%;
    font-size: 14px;
    gap: 6px;
    line-height: 20px;
    margin: 0;
}

@media (min-width: 500px) and (max-width: 767px) {
    :is(#product-category, .catalog-page) .products-list > .product-layout {
        flex-basis: 50%;
        max-width: 50%;
    }
}

@media (min-width: 768px) {
    :is(#product-category, .catalog-page).catalog-page {
        padding-left: 15px;
        padding-right: 15px;
    }

    :is(#product-category, .catalog-page) .catalog-section {
        margin-left: 0;
        margin-right: 0;
    }

    :is(#product-category, .catalog-page) .catalog-section > #column-left {
        flex: 0 0 307px;
        max-width: 307px;
        padding-left: 0;
        padding-right: 15px;
        width: 307px;
    }

    :is(#product-category, .catalog-page) .catalog-section > .catalog-content {
        flex: 0 0 calc(100% - 307px);
        max-width: calc(100% - 307px);
        padding-left: 0;
        padding-right: 0;
        width: calc(100% - 307px);
    }

    :is(#product-category, .catalog-page) .catalog-section > .catalog-content.col-sm-12 {
        flex-basis: 100%;
        max-width: 100%;
        width: 100%;
    }

    :is(#product-category, .catalog-page) #column-left .module_wrap {
        padding: 0;
    }

    :is(#product-category, .catalog-page) .filter-panel {
        margin: 0;
    }

    .sorting-block {
        align-items: center;
        flex-direction: row;
        width: auto;
    }

    .sorting-title {
        margin: 0 5px 0 0;
    }

    .sorting-selected {
        padding-right: 12px;
        width: auto;
    }

    .icon-sorting {
        display: block;
    }

    :is(#product-category, .catalog-page) .products-list {
        margin-bottom: 30px;
    }

    :is(#product-category, .catalog-page) .products-list > .product-layout {
        flex: 0 0 calc(100% / 3);
        height: 465px;
        max-width: calc(100% / 3);
        overflow: hidden;
        position: relative;
    }

    :is(#product-category, .catalog-page) .product-thumb {
        border-top-color: transparent;
        min-height: 465px;
        padding: 20px;
    }

    :is(#product-category, .catalog-page) .products-list > .product-layout:nth-child(-n+3) .product-thumb {
        border-top-color: var(--grey-border);
    }

    :is(#product-category, .catalog-page) .products-list > .product-layout:nth-child(3n) .product-thumb,
    :is(#product-category, .catalog-page) .products-list > .product-layout:nth-child(3n - 1) .product-thumb {
        border-left-color: transparent;
    }

    :is(#product-category, .catalog-page) .product-thumb .image {
        height: 280px;
    }

    :is(#product-category, .catalog-page) .product-thumb .button-group {
        display: none;
        margin: 15px 0 0;
        padding: 0;
        position: static;
    }

    :is(#product-category, .catalog-page) .product-thumb .button-group .button_add_to_cart {
        margin-right: 15px;
        max-width: 206px;
    }

    :is(#product-category, .catalog-page) .product-thumb .button-group .button_wishlist {
        margin-left: 0;
    }

    :is(#product-category, .catalog-page) .product-list:hover {
        overflow: visible;
        z-index: 10;
    }

    :is(#product-category, .catalog-page) .product-list:hover .product-thumb {
        border-color: var(--link-color);
        height: auto;
        min-height: 465px;
    }

    :is(#product-category, .catalog-page) .product-list:hover .product-thumb .button-group {
        display: flex;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    :is(#product-category, .catalog-page) .products-list > .product-layout {
        flex-basis: 50%;
        max-width: 50%;
    }

    :is(#product-category, .catalog-page) .products-list > .product-layout:nth-child(n) .product-thumb {
        border-left-color: var(--grey-border);
        border-top-color: transparent;
    }

    :is(#product-category, .catalog-page) .products-list > .product-layout:nth-child(-n+2) .product-thumb {
        border-top-color: var(--grey-border);
    }

    :is(#product-category, .catalog-page) .products-list > .product-layout:nth-child(2n) .product-thumb {
        border-left-color: transparent;
    }
}

@media (min-width: 1280px) {
    :is(#product-category, .catalog-page).catalog-page {
        padding-left: 0;
        padding-right: 0;
    }

    :is(#product-category, .catalog-page) .catalog-heading {
        padding: 16px 0 36px;
    }

    :is(#product-category, .catalog-page) .catalog-heading h1 {
        margin-bottom: 0;
    }

    :is(#product-category, .catalog-page) .filter-panel .sorting-selected {
        display: none;
    }

    :is(#product-category, .catalog-page) .filter-panel .sorting-block {
        align-items: flex-start;
        margin-left: 0;
        width: 100%;
    }

    :is(#product-category, .catalog-page) .filter-panel .sorting-title {
        flex: 0 0 auto;
        margin: 0 25px 0 0;
    }

    :is(#product-category, .catalog-page) .filter-panel .sorting-list {
        box-shadow: none;
        display: flex;
        flex-wrap: nowrap;
        flex: 1 1 auto;
        min-width: 0;
        padding: 0;
        position: static;
    }

    :is(#product-category, .catalog-page) .filter-panel .sorting-item {
        flex: 0 0 auto;
        margin: 0 25px 5px 0;
        white-space: nowrap;
    }

    :is(#product-category, .catalog-page) .filter-panel .sorting-item:last-child {
        margin-right: 0;
    }

    :is(#product-category, .catalog-page) .filter-panel .sorting-link {
        color: var(--link-color);
    }

    :is(#product-category, .catalog-page) .filter-panel .sorting-link__selected {
        color: var(--font-color);
    }

    :is(#product-category, .catalog-page) .filter-panel .sorting-link__selected::before {
        background: var(--link-color);
        content: '';
        height: 2px;
        left: 0;
        position: absolute;
        right: 0;
        top: -15px;
    }
}

@media (max-width: 767px) {
    :is(#product-category, .catalog-page).catalog-page {
        padding-left: 15px;
        padding-right: 15px;
    }

    :is(#product-category, .catalog-page) .breadcrumb {
        margin-left: -15px;
        max-width: none;
        padding-left: 15px;
    }

    :is(#product-category, .catalog-page) h1 {
        margin-bottom: 20px;
    }

    :is(#product-category, .catalog-page) .filter-panel {
        min-height: 50px;
        flex-wrap: nowrap;
    }

    :is(#product-category, .catalog-page) .products-list {
        margin-top: 0;
    }
}

/* Search catalog refinements */
.search-catalog-page .search-refinements {
    padding-left: 0;
}

.search-refinements-panel {
    background: var(--lighter-blue);
    color: var(--font-color);
}

.search-refinements-heading {
    border-bottom: 1px solid rgba(0, 139, 148, 0.12);
    font-size: 16px;
    font-weight: 600;
    line-height: 22px;
    padding: 18px 20px;
}

.search-refinement-group {
    border-bottom: 1px solid rgba(0, 139, 148, 0.12);
    padding: 18px 20px 12px;
}

.search-refinement-group:last-child {
    border-bottom: 0;
}

.search-refinement-title {
    font-size: 15px;
    font-weight: 600;
    line-height: 20px;
    margin: 0 0 12px;
}

.search-refinement-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.search-refinement-item {
    margin: 0 0 8px;
}

.search-refinement-link {
    align-items: flex-start;
    color: var(--font-color);
    display: flex;
    font-size: 13px;
    line-height: 18px;
    min-height: 20px;
}

.search-refinement-link:hover,
.search-refinement-link:focus,
.search-refinement-link.is-active {
    color: var(--link-color);
    text-decoration: none;
}

.search-refinement-check {
    background: var(--white-color);
    border: 1px solid var(--grey-border);
    flex: 0 0 18px;
    height: 18px;
    margin: 0 9px 0 0;
    position: relative;
    width: 18px;
}

.search-refinement-link.is-active .search-refinement-check {
    background: var(--link-color);
    border-color: var(--link-color);
}

.search-refinement-link.is-active .search-refinement-check::after {
    border-bottom: 2px solid var(--white-color);
    border-right: 2px solid var(--white-color);
    content: '';
    height: 9px;
    left: 6px;
    position: absolute;
    top: 2px;
    transform: rotate(45deg);
    width: 5px;
}

.search-refinement-name {
    flex: 1 1 auto;
    min-width: 0;
}

.search-refinement-code {
    font-weight: 600;
    margin-right: 3px;
}

.search-refinement-count {
    align-items: center;
    background: rgba(255, 255, 255, 0.72);
    border-radius: 10px;
    color: var(--grey);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 11px;
    height: 19px;
    justify-content: center;
    margin-left: 8px;
    min-width: 19px;
    padding: 0 5px;
}

.search-refinements-toggle {
    align-items: center;
    background: var(--lighter-blue);
    border: 0;
    color: var(--link-color);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 15px;
    gap: 8px;
    height: 50px;
    padding: 13px 10px;
    width: auto;
}

.search-refinements-toggle__icon {
    border-bottom: 2px solid currentColor;
    border-top: 2px solid currentColor;
    height: 14px;
    position: relative;
    width: 18px;
}

.search-refinements-toggle__icon::after {
    border-top: 2px solid currentColor;
    content: '';
    left: 0;
    position: absolute;
    right: 0;
    top: 4px;
}

.search-refinements-toggle__count {
    align-items: center;
    background: var(--link-color);
    border-radius: 50%;
    color: var(--white-color);
    display: inline-flex;
    font-size: 11px;
    height: 20px;
    justify-content: center;
    min-width: 20px;
}

.search-empty {
    margin: 0 0 30px;
}

@media (min-width: 768px) {
    .search-catalog-page .search-refinements.collapse {
        display: block !important;
        height: auto !important;
    }

    .search-refinements-toggle {
        display: none;
    }
}

@media (min-width: 1280px) {
    #product-category.search-catalog-page .catalog-section > .catalog-content.search-catalog-content--wide {
        flex: 0 0 100%;
        max-width: 100%;
        width: 100%;
    }
}

@media (max-width: 767px) {
    .search-catalog-page .search-refinements {
        margin: 0 0 15px;
        padding-right: 0;
        width: 100%;
    }

    .search-catalog-page .search-refinements.show {
        display: block;
    }

    .search-catalog-page .catalog-content {
        width: 100%;
    }

    .search-catalog-page .filter-panel {
        align-items: flex-start;
    }
}


.thumbnails {
    overflow: auto;
    clear: both;
    list-style: none;
    padding: 0;
    margin: 0;
}

.thumbnails > li {
    margin-left: 20px;
}

.thumbnails {
    margin-left: -20px;
}

.thumbnails > img {
    width: 100%;
}

.image-additional a {
    margin-bottom: 20px;
    padding: 5px;
    display: block;
    border: 1px solid #ddd;
}

.image-additional {
    max-width: 78px;
}

.thumbnails .image-additional {
    float: left;
    margin-left: 20px;
}


.alphabet-container h1.title {
    font-size: 18px;
    line-height: 25px;
    font-weight: 600;
    margin-bottom: 20px;
}

.alphabet-container .alphabet-wrap {
    background: var(--lighter-blue);
    padding: 10px 5px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 16px;
    line-height: 18px;
    font-weight: 600;
    margin: 0 0 23px;
}

.alphabet-container .alphabet-wrap a {
    color: var(--font-color);
    margin: 5px 10px;
}

.alphabet-container .alphabet-wrap a.active {
    color: var(--link-color);
    pointer-events: none;
}

.alphabet-list {
    margin: 0;
    padding: 0;
    list-style: none;
    -webkit-columns: 2;
    -moz-columns: 2;
    columns: 2;
}

.alphabet-list li {
    padding: 0 0 15px;
    font-size: 16px;
    line-height: 24px;
    word-wrap: break-word;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
}

.alphabet-list li a {
    color: var(--font-color);
}

.pagination-wrap {
    margin: 20px 0 50px;
}

.pagination {
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    list-style: none;
}

.pagination li {
    text-align: center;
    margin: 0 8px;
    font-size: 16px;
    line-height: 20px;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 50px;
    height: 50px;
}

.pagination a {
    padding: 0 5px;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    color: var(--font-color);
}

.pagination-prev .pagination-arrow__item {
    background: url(../image/pagination-prev.svg) no-repeat center
}

.pagination-next .pagination-arrow__item {
    background: url(../image/pagination-next.svg) no-repeat center
}

.pagination-disabled .pagination-arrow__item {
    opacity: .5;
    pointer-events: none
}

.pagination li.active {
    min-width: 50px;
    border-radius: 50%;
    background: var(--link-color);
    color: var(--white-color);
}

.icon-navigator {
    background-image: url(../image/navigation.svg);
    width: 20px;
    height: 20px;
}

.icon-pickup {
    background-image: url(../image/pickup.svg);
    width: 24px;
    height: 24px;
}

.icon-delivery {
    background-image: url(../image/delivery.svg);
    width: 24px;
    height: 24px;
}

.icon-post {
    background-image: url(../image/post.svg);
    width: 24px;
    height: 24px;
}

.icon-user-data {
    background-image: url(../image/user-data.svg);
    width: 24px;
    height: 24px;
}

.icon-payment {
    background-image: url(../image/payment.svg);
    width: 24px;
    height: 24px;
}


/*locations-page*/
.leaflet-container {
    z-index: 0;
}

.location-map-popup-shell .leaflet-popup-content-wrapper {
    border-radius: 0;
    box-shadow: 0 3px 14px rgba(0, 0, 0, .25);
}

.location-map-popup-shell .leaflet-popup-content {
    margin: 20px 18px;
}

.location-map-popup {
    color: var(--font-color);
    font-family: var(--font-family);
    font-size: 16px;
    line-height: 1.35;
}

.location-map-popup__title,
.location-map-popup__address {
    align-items: flex-start;
    display: flex;
    gap: 12px;
}

.location-map-popup__title {
    align-items: center;
}

.location-map-popup__title strong {
    font-size: 18px;
    font-weight: 400;
}

.location-map-popup__address {
    margin-top: 18px;
}

.location-map-popup__brand-icon {
    flex: 0 0 auto;
    height: 24px;
    object-fit: contain;
    width: 24px;
}

.location-map-popup__pointer {
    background: url(../image/pin-24.svg) center / contain no-repeat;
    flex: 0 0 24px;
    height: 24px;
    width: 24px;
}

.locations-page .locations-toolbar strong {
    font-weight: 600;
    line-height: 24px;
    font-size: 18px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.locations-page .locations-toolbar strong a {
    display: flex;
    align-items: center;
    gap: 2px;
}

.locations-page .locations-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 15px;
    margin-top: 19px;
    gap: 25px;
    border: 1px solid var(--grey-border);
}

.locations-page .stores-list {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
}

.locations-page .map-block {
    height: 400px;
    width: 100%;
    position: relative;
}

.stores-list-search {
    position: relative;
    cursor: pointer;
}

.stores-list-search i {
    position: absolute;
    top: 15px;
    right: 16px;
}


.stores-list-item {
    border-bottom: 1px solid var(--grey-border);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 9px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 20px 0 20px 0;
    margin-right: 20px;
}

.stores-list-item:first-child {
    padding-top: 0;
}

.locations-page .list-group {

}

.locations-page .list-group .location-item {

}

.locations-page .list-group .location-item p,
.locations-page .list-group .location-item h4 {
    display: flex;
    gap: 10px;
    font-weight: 400;
    line-height: 18px;
    font-size: 14px;
}

.locations-page .list-group .location-item p {
    opacity: .7;
    margin-bottom: 0;
}

.locations-page .list-group .location-item a:not(.pharmacy-action-btn) {
    color: #00747f;
    border: 0;
    padding: 0;
    background: transparent !important;
    font: var(--font-size) / 23px var(--font-family);
}

.icon-pin-18 {
    background-image: url(../image/geotag.svg);
    width: 18px;
    min-width: 18px;
    height: 18px;
}

.icon-time-18 {
    background-image: url(../image/timeTag.svg);
    width: 18px;
    height: 19px;
}


.ocf-container .msf-value-list .ocf-value-list-body{
    overflow-y: auto;
    max-height: 300px;
    scrollbar-color: var(--link-color) var(--grey-border);
    scrollbar-width: thin;
    position: relative;
}


@media (min-width: 768px) {
    .locations-page .stores-list {
        display: block;
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 38%;
        -ms-flex: 1 1 38%;
        flex: 1 1 38%;
        max-height: 669px;
        height: 669px;
    }

    .locations-page .map-block {
        -webkit-align-self: stretch;
        -ms-flex-item-align: stretch;
        align-self: stretch;
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 62%;
        -ms-flex: 1 1 62%;
        flex: 1 1 62%;
        height: auto;
        display: block;
    }

    .locations-page .locations-wrap {
        padding: 30px;
    }

    .locations-toolbar strong {
        font-weight: 600;
        line-height: 24px;
        font-size: 18px;
    }

    .alphabet-list {
        -webkit-columns: 4;
        -moz-columns: 4;
        columns: 4;
    }

    .pagination-wrap {
        margin: 30px 0 50px;
    }
}

@media (min-width: 1280px) {
    .alphabet-container .alphabet-wrap {
        padding: 25px 15px;
    }

    .alphabet-container .alphabet-wrap a {
        margin: 2px 10px;
    }

    .alphabet-list {
        -webkit-columns: 5 220px;
        -moz-columns: 5 220px;
        columns: 5 220px;
    }

    .pagination-wrap {
        margin: 35px 0 20px;
    }
}


@media (min-width: 1200px) {
    #content .col-lg-2:nth-child(6n+1),
    #content .col-lg-3:nth-child(4n+1),
    #content .col-lg-4:nth-child(3n+1),
    #content .col-lg-6:nth-child(2n+1) {
        clear: left;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    #content .col-md-2:nth-child(6n+1),
    #content .col-md-3:nth-child(4n+1),
    #content .col-md-4:nth-child(3n+1),
    #content .col-md-6:nth-child(2n+1) {
        clear: left;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    #content .col-sm-2:nth-child(6n+1),
    #content .col-sm-3:nth-child(4n+1),
    #content .col-sm-4:nth-child(3n+1),
    #content .col-sm-6:nth-child(2n+1) {
        clear: left;
    }
}

/* fixed colum left + content + right*/
@media (min-width: 768px) {
    #column-left .product-layout .col-md-3 {
        width: 100%;
    }

    #column-left + #content .product-layout .col-md-3 {
        width: 50%;
    }

    #column-left + #content + #column-right .product-layout .col-md-3 {
        width: 100%;
    }

    #content + #column-right .product-layout .col-md-3 {
        width: 100%;
    }
}

/* fixed product layouts used in left and right columns */
#column-left .product-layout, #column-right .product-layout {
    width: 100%;
}

/* fixed mobile cart quantity input */
.input-group .form-control[name^=quantity] {
    min-width: 50px;
}

/* Missing focus and border color to overwrite bootstrap */
.btn-info:hover, .btn-info:active, .btn-info.active, .btn-info.disabled, .btn-info[disabled] {
    background-image: none;
    background-color: #df5c39;
}

/* fix oclabs */
.alert-dismissable .close, .alert-dismissible .close {
    right: -1px;
}


@media (min-width: 1000px) {
    .container {
        width: 100%;
        max-width: 1600px;
    }
}

@media (min-width: 768px) {
    .subscription::after,
    .subscription::before {
        content: '';
        position: absolute;
        background-image: url(../image/subs-bg01.png);
        background-repeat: repeat-y;
        width: 304px;
        height: 100%;
        top: 0;
    }

    .subscription::before {
        background-position: center 0;
        left: 0;
    }

    .subscription::after {
        background-position: center -100px;
        right: 0;
    }


    .alphabet-container h1.title {
        font-size: 20px;
        line-height: 27px;
    }

    .footer-navigation ul {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
        -webkit-column-gap: 0;
        -moz-column-gap: 0;
        column-gap: 0;
        -webkit-column-width: auto;
        -moz-column-width: auto;
        column-width: auto;
        padding: 0 40px 20px;
    }

    .footer-main {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        gap: 1rem;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        border-bottom: 1px solid var(--grey-border);
    }

    .footer-bottom {
        padding: 10px 0 0;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .copyright {
        margin: 5px 16px 5px 0;
        width: 230px;
    }

    .footer-bottom-menu {
        width: -webkit-calc(100% - 246px);
        width: calc(100% - 246px);
    }

    .footer-bottom-menu li {
        margin: 5px 15px 5px 0;
    }

    .payment-info {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        font-size: 12px;
        line-height: 18px;
        margin: 0 16px 0 0;
        width: 230px;
    }
}

@media (min-width: 1280px) {
    .alphabet-container h1.title {
        font-size: 24px;
        line-height: 33px;
    }

    .footer-navigation ul {
        -webkit-column-count: 3;
        -moz-column-count: 3;
        column-count: 3;
        -webkit-column-gap: 1rem;
        -moz-column-gap: 1rem;
        column-gap: 1rem;
        padding: 0;
    }

    .footer-bottom {
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 13px 0 0;
    }

    .copyright {
        width: 250px;
        margin: 0 10px 0 0;
        -webkit-box-ordinal-group: 2;
        -webkit-order: 1;
        -ms-flex-order: 1;
        order: 1;
    }

    .footer-bottom-menu {
        width: auto;
        margin: 0 23px 0 0;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-ordinal-group: 3;
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2;
    }

    .footer-bottom-menu li {
        margin: 0 15px 0 0;
    }

    .payment-info {
        width: auto;
        margin: 0 10px 0 auto;
        -webkit-box-ordinal-group: 5;
        -webkit-order: 4;
        -ms-flex-order: 4;
        order: 4;
    }
}

/* Legacy mobile footer parity */
.footer {
    padding: 22px 0 10px;
}

.footer > .container {
    padding-left: 15px;
    padding-right: 15px;
}

.footer-main {
    display: block;
    margin: 0;
    padding: 0;
}

.footer-logo-section {
    padding: 0;
    text-align: center;
}

.footer-logo {
    display: block;
    margin: 0 auto 20px;
    width: 219px;
}

.footer-logo img {
    display: block;
    width: 100%;
}

.footer-data {
    color: var(--grey);
    font-size: 1rem;
    line-height: 1.3;
    margin: 16px 0;
    text-align: center;
    white-space: nowrap;
}

.footer-socials {
    display: none;
}

.tg-btn {
    align-items: center;
    border: 3px solid #0f6f73;
    border-radius: 50px;
    color: #0f6f73;
    display: inline-flex;
    font-size: 19px;
    font-weight: 600;
    justify-content: center;
    line-height: 23px;
    margin: 5px auto 20px;
    padding: 7px 27px;
    text-decoration: none;
}

.tg-btn:hover,
.tg-btn:focus {
    color: #0f6f73;
    text-decoration: none;
}

.footer-accordion {
    border-top: 1px solid var(--footer-bd);
    margin: 0 0 15px;
}

.footer-accordion-item {
    border: 0;
    border-bottom: 1px solid var(--footer-bd);
    border-radius: 0;
}

.footer-title {
    cursor: pointer;
    font-size: 15px;
    font-weight: 600;
    line-height: 20px;
    padding: 16px 30px 16px 0;
    position: relative;
    text-transform: uppercase;
}

.footer-title:before,
.footer-title:after {
    background: var(--link-color);
    content: '';
    height: 2px;
    position: absolute;
    right: 2px;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
}

.footer-title:after {
    transform: translateY(-50%) rotate(90deg);
}

.footer-accordion-item.active .footer-title:after {
    display: none;
}

.footer-content {
    display: none;
}

.footer-menu {
    list-style: none;
    margin: 0;
    padding: 0 0 15px;
}

.footer-menu li {
    font-size: 14px;
    line-height: 20px;
    margin: 0 0 12px;
}

.footer-menu a {
    color: var(--font-color);
}

.footer-contacts {
    border-bottom: 1px solid var(--footer-bd);
    margin: 0 0 15px;
    padding: 0 0 15px;
}

.footer-phone {
    color: var(--font-color);
    font-size: 20px;
    font-weight: 600;
    line-height: 27px;
    margin: 0 0 3px;
    white-space: nowrap;
}

.footer-phone a {
    color: inherit;
}

.footer-callback {
    font-size: 14px;
    line-height: 20px;
    margin: 0 0 10px;
}

.footer-callback a {
    color: var(--link-color);
}

.footer-worktime {
    color: var(--grey);
    font-size: 13px;
    line-height: 18px;
}

.footer-partners__title {
    color: var(--font-color);
    font-size: 16px;
    font-weight: 700;
    line-height: 23px;
    margin: 20px 0;
    text-transform: none;
}

.footer-partners__list {
    align-items: stretch;
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
}

.footer-partners__item {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    min-height: 74px;
    overflow: hidden;
}

.footer-partners__item a {
    color: var(--font-color);
}

.footer-partners__item--link {
    justify-content: flex-start;
}

.footer-partners__item--link a {
    display: block;
    font-size: 10px;
    font-weight: 700;
    line-height: 12px;
    text-decoration: underline;
}

.footer-partners__item--logo img {
    display: block;
    height: auto;
    max-width: 100%;
    width: auto;
}

.footer-warning {
    text-align: center;
}

.footer-warning img {
    display: inline-block;
    width: 100%;
}

.footer-bottom {
    display: block;
    padding: 0;
}

.copyright {
    font-size: 12px;
    line-height: 18px;
    margin: 0 0 13px;
}

.copyright a,
.footer-bottom-menu,
.payment-info {
    display: none;
}

@media (min-width: 768px) {
    .footer {
        padding: 30px 0 11px;
    }

    .footer-logo-section {
        text-align: left;
    }

    .footer-main {
        border-bottom: 1px solid var(--grey-border);
        display: flex;
        gap: 1rem;
        justify-content: space-between;
        padding: 0 0 20px;
    }

    .footer-logo {
        margin: 0 0 15px;
        width: 124px;
    }

    .footer-data {
        font-size: 12px;
        line-height: 18px;
        text-align: left;
    }

    .footer-socials {
        display: flex;
        gap: 1em;
        justify-content: center;
    }

    .tg-btn {
        font-size: 16px;
        line-height: 20px;
        margin: 15px 0 20px;
        padding: 5px 22px;
    }

    .footer-accordion {
        border: 0;
        flex: 1 1 auto;
        margin: 0;
    }

    .footer-accordion-item {
        border: 0;
    }

    .footer-title {
        display: none;
    }

    .footer-content {
        display: block !important;
    }

    .footer-menu {
        column-count: 2;
        column-gap: 0;
        column-width: auto;
        padding: 0 40px 20px;
    }

    .footer-contacts {
        border: 0;
        flex: 0 0 230px;
        margin: 0;
        padding: 0;
    }

    .footer-bottom {
        display: flex;
        flex-wrap: wrap;
        padding: 10px 0 0;
    }

    .copyright {
        margin: 5px 16px 5px 0;
        width: 230px;
    }

    .copyright a {
        display: inline;
    }

    .footer-bottom-menu {
        display: flex;
        flex-wrap: wrap;
        list-style: none;
        margin: 0;
        padding: 0;
        width: calc(100% - 246px);
    }

    .footer-bottom-menu li {
        font-size: 12px;
        line-height: 18px;
        margin: 5px 15px 5px 0;
    }

    .footer-bottom-menu a {
        color: var(--grey);
    }

    .payment-info {
        align-items: center;
        display: flex;
        font-size: 12px;
        line-height: 18px;
        margin: 0 16px 0 0;
        width: 230px;
    }
}

@media (min-width: 1280px) {
    .footer-logo-section {
        flex: 0 0 20%;
    }

    .footer-socials {
        justify-content: flex-start;
    }

    .footer-menu {
        column-count: 3;
        column-gap: 1rem;
        padding: 0;
    }

    .footer-contacts {
        flex-basis: 250px;
    }

    .footer-bottom {
        align-items: center;
        padding: 13px 0 0;
    }

    .copyright {
        margin: 0 10px 0 0;
        order: 1;
        width: 250px;
    }

    .footer-bottom-menu {
        align-items: center;
        margin: 0 23px 0 0;
        order: 2;
        width: auto;
    }

    .footer-bottom-menu li {
        margin: 0 15px 0 0;
    }

    .payment-info {
        margin: 0 10px 0 auto;
        order: 4;
        width: auto;
    }
}

.accessibility-switcher {
    line-height: 1.3;
    min-width: 32px;
    min-height: 32px;
    border: 0;
    background: transparent;
    color: var(--link-color);
    cursor: pointer;
}

.accessibility-switcher:focus-visible {
    outline: 3px solid var(--link-color);
    outline-offset: 3px;
}

.information-page #column-left .module_wrap {
    position: relative;
}

.information-page #column-left .nav {
    background: var(--white-color);
    margin: 0;
    padding: 0 15px;
    list-style: none;
    max-height: 0;
    pointer-events: none;
    position: absolute;
    left: 0;
    top: -webkit-calc(100% + 0px);
    top: calc(100% + 0px);
    width: 100%;
    overflow: hidden;
    -webkit-transition: max-height .3s linear;
    transition: max-height .3s linear;
    z-index: 1;
    border-left: 1px solid var(--grey-border);
    border-right: 1px solid var(--grey-border);
    display: flex;
    flex-direction: column;

}

.information-page #column-left .nav li {
    margin: 15px 0;
}

.information-page #column-left .nav li a {
    font: var(--font-size) / 23px var(--font-family);
}

.information-page #column-left .nav li.active {

}


.contact-page h1 {
    font-size: 24px;
    line-height: 33px;
    font-weight: 600;
}

.contact-page .contacts-list {
    display: grid;
    grid-row-gap: 15px;
    margin: 0 0 30px;
}

.contact-page .contacts-list .contacts-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

.contacts-title {
    font-size: 16px;
    line-height: 22px;
    font-weight: 600;
    min-height: 56px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 0 10px;
}

.contacts-value {
    margin-left: -71px;
    font-size: 16px;
    line-height: 24px;
}

.contacts-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--lighter-blue);
    margin: 0 15px 0 0;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.contacts-icon i {
    width: 28px;
    height: 28px;
    background-size: contain;
}

.icon-pin-24 {
    background-image: url(../image/pin-24.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 24px;
    height: 24px;
}

.icon-mail {
    background-image: url(../image/mail.svg);
    width: 24px;
    height: 24px;
}

.icon-phone-28 {
    background-image: url(../image/phone-28.svg);
    width: 28px;
    height: 28px;
}

.icon-time {
    background-image: url(../image/time.svg);
    width: 28px;
    height: 28px;
}

.title-section {
    margin: 0 0 15px;
}

.contact-page .contacts-form {
    padding-top: 50px;
    padding-bottom: 50px;
    background-image: url(../image/bg2.jpg);
    margin: 0 -15px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.contact-page .contacts-form .contact-form-head {
    margin: 0 0 15px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.contact-page .contacts-form .contact-form-head p {
    font-size: 18px;
    line-height: 25px;
    font-weight: 600;
}

.contact-page .contacts-form .contact-form-body {
    max-width: 402px;
    margin: 0 auto;
}

.contact-page .contacts-form .contact-form-body .form-group {
    margin-bottom: 10px;
}

.contact-page .contacts-form .contact-form-body .form-group > div {
    position: relative;
}

.contact-page .contacts-form .contact-form-body .form-group input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    font-family: var(--font-family);
    color: var(--font-color);
    background-color: var(--white-color);
    border: 1px solid var(--grey-border);
    font-size: 14px;
    line-height: 19px;
    padding: 10px 30px 10px 15px;
    height: 53px;
    width: 100%;
    -webkit-transition: border .3s;
    transition: border .3s;
}

.contact-page .contacts-form .contact-form-body .text-danger {
    color: var(--red);
    font-size: 12px;
    line-height: 16px;
    width: 100%;
    display: none;
    padding: 3px 0 0;
}

.contact-page .contacts-form .contact-form-body textarea.input {
    height: 80px;
}

.contact-page .contacts-form .contact-form-body .buttons input {
    font-family: var(--font-family);
    -webkit-transition: all .3s;
    transition: all .3s;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    text-align: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    background: var(--link-color);
    color: var(--white-color);
    height: 56px;
    padding: 10px 20px;
    line-height: 20px;
    width: 100%;
    border-radius: 0;
    box-shadow: none;
    border: 0 !important;
}

.contact-page .contacts-form .contact-form-body .buttons input:hover {
    background-color: var(--btn-hover);
    opacity: 1;
}

.section {
    margin: 0 0 50px;
}


/*Blog page*/
.blog-page h1 {
    margin-bottom: 20px;
}

.blog-page .blog-categories .blog-category-item {
    -webkit-box-align: center;
    align-items: center;
    color: var(--white-color);
    cursor: pointer;
    display: inline-flex;
    font-size: 14px;
    -webkit-box-pack: center;
    justify-content: center;
    line-height: 1.2;
    min-height: 50px;
    text-align: center;
    background: var(--light-blue);
    padding: 10px 15px;
}

.blog-categories-list {
    -webkit-box-align: stretch;
    align-items: stretch;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 2rem;
    gap: 1rem;
}

.blog-list {
    display: grid;
    row-gap: 20px;
}

.blog-item {
    min-width: 0;
}

.blog-img {
    margin: 0px 0px 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.blog-img img {
    height: auto;
    width: 100%;
}

.blog-title {
    color: var(--font-color);
}

.blog-section .date {
    font-size: 14px;
    line-height: 19px;
    margin: 0px 0px 5px;
}

.date {
    color: var(--grey);
    font-size: 14px;
}

.blog-title-text {
    font-size: 16px;
    line-height: 22px;
    font-weight: 600;
    margin: 0px 0px 5px;
}

.blog-title-description {
    color: var(--grey);
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    font-size: 14px;
    line-height: 19px;
    overflow: hidden;
    margin: 0px 0px 5px;
}

.blog-section.article-ring {
    margin-inline: auto;
    max-width: 1350px;
}

.article-ring .blog-img {
    aspect-ratio: 3 / 2;
    overflow: hidden;
}

.article-ring .blog-img img {
    height: 100%;
    object-fit: cover;
}

.blog-title .link {
    color: var(--link-color);
    font-size: 14px;
}

.blog-title {
    color: var(--font-color);
}

.recommend-prev,
.recommend-next {
    display: none;
}

.title-row {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
}

.article-container .title-row {
    margin: 0 0 10px;
    display: block;
}

.article-container .h1, .article-container h1 {
    font-size: 24px;
    line-height: 33px;
    margin: 0;
}

#article-page .article-container {
    font-size: 16px;
    line-height: 24px;
    margin: 0 auto 30px;
    max-width: 1350px;
}

.article-container .date {
    text-align: center;
    font-size: 14px;
    line-height: 22px;
    margin: 0 0 15px;
}

.article-info {
    margin: 0 0 30px;
}

#article-page .article-content > .article-info {
    margin-inline: auto;
    max-width: 760px;
}

.article-info p {

}

.article-toc,
.article-extract,
.article-used-sources {
    background: var(--lighter-blue, #f3fcfc);
    border: 1px solid var(--light-blue, #59b4b4);
    border-radius: 8px;
    padding: 18px 22px;
    margin: 0 0 24px;
}

.article-toc__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.article-toc__header h2 {
    font-size: 17px;
    font-weight: 600;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--link-color, #00747f);
}

.article-toc__toggle {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--link-color, #00747f);
}

.article-toc__toggle::after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.2s;
    margin-top: -4px;
}

.article-toc__toggle.is-open::after {
    transform: rotate(-135deg);
    margin-top: 4px;
}

.article-toc__list {
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--light-blue, #59b4b4);
    padding-top: 12px;
}

.article-container .article-toc__list li {
    margin: 0 0 6px;
    padding: 0;
}

.article-container .article-toc__list li::before {
    content: none;
}

.article-toc__list a {
    color: var(--font-color, #022226);
    text-decoration: none;
    font-size: 15px;
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    transition: color 0.15s;
}

.article-toc__list a:hover {
    color: var(--link-color, #00747f);
}

.article-extract__content ul {
    margin: 0;
}

.article-container p {
    font-size: 16px;
    line-height: 24px;
    margin: 20px 0;
}

.article-container .h2, .article-container .h3, .article-container .h4, .article-container .h5, .article-container .h6, .article-container h2, .article-container h3, .article-container h4, .article-container h5, .article-container h6 {
    clear: both;
    font-size: 20px;
    line-height: 27px;
    margin: 30px 0 15px;
    font-weight: 600;
}

.article-container :is(.h2, h2) { font-size: 22px; }
.article-container :is(.h3, h3) { font-size: 21px; }
.article-container :is(.h4, h4) { font-size: 20px; }
.article-container :is(.h5, h5) { font-size: 19px; }
.article-container :is(.h6, h6) { font-size: 18px; }

.article-container ol, .article-container ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 10px 0 15px;
    padding: 0;
    list-style: none;
}

.article-container ol li, .article-container ul li {
    margin: 0 0 10px;
    padding: 0 0 0 21px;
    font-size: 16px;
    line-height: 20px;
    position: relative;
}

.article-container ul > li:before {
    content: '';
    width: 6px;
    height: 6px;
    position: absolute;
    left: 0;
    top: 7px;
    background: var(--link-color);
}

.article-info ol {
    display: block;
    list-style: decimal;
    padding-left: 1.75em;
}

.article-info ol > li {
    display: list-item;
    padding-left: 0;
}

.article-info img {
    display: block;
    height: auto;
    margin: auto;
    max-width: 100%;
}

.article-info table {
    background: var(--white-color, #fff);
    border: 1px solid var(--grey-border, #e6ecec);
    border-collapse: separate;
    border-radius: 8px;
    border-spacing: 0;
    color: var(--font-color, #022226);
    font-size: 15px;
    line-height: 1.5;
    margin: 24px 0;
    overflow: hidden;
    width: 100%;
}

.article-info table caption {
    caption-side: top;
    color: var(--font-color, #022226);
    font-size: 16px;
    font-weight: 600;
    padding: 0 0 10px;
    text-align: left;
}

.article-info table th,
.article-info table td {
    border-bottom: 1px solid var(--grey-border, #e6ecec);
    border-right: 1px solid var(--grey-border, #e6ecec);
    overflow-wrap: anywhere;
    padding: 13px 16px;
    text-align: left;
    vertical-align: top;
}

.article-info table tr > :last-child {
    border-right: 0;
}

.article-info table > :last-child > tr:last-child > * {
    border-bottom: 0;
}

.article-info table thead th,
.article-info table:not(:has(thead)) tbody > tr:first-child > td {
    background: var(--lighter-blue, #f3fcfc);
    color: var(--font-color, #022226);
    font-weight: 600;
}

.article-info table tbody > tr:nth-child(even) > * {
    background: #fbfefe;
}

.article-info table tbody > tr:not(:first-child):hover > td {
    background: #f1fafa;
}

.article-info table th p,
.article-info table td p {
    margin: 0;
}

.article-info table th p + p,
.article-info table td p + p {
    margin-top: 8px;
}

.article-info :where(div, figure):has(> table) {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 767px) {
    .article-info table {
        border-radius: 6px;
        font-size: 14px;
        margin: 20px 0;
    }

    .article-info table th,
    .article-info table td {
        padding: 10px 12px;
    }

    .article-info :where(div, figure):has(> table) > table {
        min-width: 560px;
    }
}


.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
    opacity: .6;
}

.swiper-button-prev:after {
    background: url(../image/arrow-right.svg) no-repeat;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.swiper-button-next:after {
    background: url(../image/arrow-right.svg) no-repeat;
}

.swiper-button-next:after, .swiper-button-prev:after {
    width: 24px;
    height: 24px;
    position: initial;
    content: '';
    left: 0;
    right: 0;
}

.recommend-slider .swiper-wrapper {
    padding-bottom: 70px;
}

.recommend-slider .head {
    display: flex;
    align-items: center;
    gap: 25px;
}

.recommend-slider .title {

}

.recommend-slider .nav-swiper {
    margin-left: auto;
    align-items: center;
    justify-content: center;
    gap: 40px;
    display: flex;
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
    opacity: 0.6 !important;
}

.swiper-button-next, .swiper-button-prev {
    width: 24px !important;
    height: 24px !important;
    background: var(--white-color);
    -webkit-transition: all .3s ease !important;
    transition: all .3s ease !important;
    display: flex !important;
    position: inherit !important;
}

.swiper-button-next::before, .swiper-button-prev::before {
    display: none;
}

.swiper-button-next,
.swiper-button-prev {
    padding: 0;
    margin-top: 0 !important;
}

.editorial-team-block {
    background-color: var(--lighter-blue);
    color: var(--grey);
    margin-block: 30px;
}

.editorial-team-block--header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 10px;
    padding: 10px;
}

.editorial-team-block--header .title {
    color: var(--font-color);
    font-size: 16px;
    font-weight: 600;
}

.editorial-team-block--header .meta {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-size: 13px;
    gap: 20px;
}

.editorial-team-block--header .date {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 5px;
    margin-block: 0;
    text-align: left;
}

.editorial-team-block--header .date span:last-child {
    font-weight: 600;
}

.editor-block {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    border-top: 1px solid #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 15px;
    padding: 10px;
}

.editor-block .editor-photo {
    background: var(--light-grey);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    border-radius: 50%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    height: 70px;
    width: 70px;
}

.editor-block .editor-meta {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 5px;
}

.editor-block .name {
    font-size: 16px;
    font-weight: 700;
}

.editor-block .role {
    font-size: 16px;
}

#article-page .blog-section .nav-btn {
    display: flex;
    align-items: center;
    gap: 20px;
}

#article-page .blog-section .head {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 0 20px;

}

@media screen and (min-width: 576px) {
    .editorial-team-block--header {
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media (min-width: 768px) {
    .editorial-team-block--body .editor-block {
        -webkit-box-flex: 0;
        -webkit-flex: 0 1 100%;
        -ms-flex: 0 1 100%;
        flex: 0 1 100%;
    }

    .editorial-team-block--body {
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
    }

    .editorial-team-block--header .date {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
    }

    .pagination {
        margin: 30px 0 50px;
    }

    .blog-list {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px 10px;
    }

    .blog-categories-list {
        grid-template-columns: repeat(3, 1fr);
    }

    .contact-page h1 {
        font-size: 26px;
        line-height: 35px;
    }

    .contacts-value {
        margin: 0;
    }

    .contacts-title {
        min-height: auto;
        display: block;
    }

    .contact-page .contacts-form {
        padding-top: 60px;
        padding-bottom: 60px;
        margin: 0 -20px;
    }

    .section {
        margin: 0 0 60px;
    }
}

@media (min-width: 992px) {
    .blog-categories-list {
        grid-template-columns: repeat(4, 1fr);
    }

    .recommend-slider .swiper-pagination {
        display: none;
    }

    .recommend-prev,
    .recommend-next {
        display: block;
    }
}

@media (min-width: 1280px) {
    .article-container :is(.h2, h2) {
        margin: 40px 0 20px;
        font-size: 24px;
        line-height: 30px;
    }

    .article-container :is(.h3, h3) { font-size: 22px; }

    .article-container .date {
        margin: 0 0 25px;
    }

    .article-container .h1, .article-container h1 {
        font-size: 28px;
        line-height: 38px;
    }

    .pagination {
        margin: 35px 0 20px;
    }

    .blog-title-description {
        -webkit-line-clamp: 2;
    }

    .section {
        margin: 0 0 70px;
    }

    .contact-page .contacts-form .contact-form-head p {
        font-size: 24px;
        line-height: 31px;
    }

    .contact-page .contacts-form .contact-form-head {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: baseline;
        -webkit-align-items: baseline;
        -ms-flex-align: baseline;
        align-items: baseline;
        margin: 0 0 20px;
    }

    .contact-page .contacts-form {
        padding: 60px 0;
        margin: 0;
    }

    .title-section {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: baseline;
        -webkit-align-items: baseline;
        -ms-flex-align: baseline;
        align-items: baseline;
        margin: 0 0 20px;
    }

    .contact-page .contacts-list {
        grid-template-columns: repeat(2, 1fr);
        grid-column-gap: 20px;
        grid-row-gap: 25px;
        max-width: 824px;
        margin: 0 0 60px;
    }

    .contact-page h1 {
        font-size: 28px;
        line-height: 38px;
    }

    .information-page #column-left .nav li.active {
        position: relative;
    }

    .information-page #column-left .nav li.active::before {
        content: '';
        width: 2px;
        height: 25px;
        position: absolute;
        left: -30px;
        top: -webkit-calc(50% - 25px / 2);
        top: calc(50% - 25px / 2);
        background: var(--link-color);
    }

    .information-page #column-left .nav {
        pointer-events: visible;
        max-height: none;
        position: static;
        padding: 30px;
        border: 0;
    }

    .information-page #column-left .nav li {
        margin: 0 0 15px;
    }

    .information-page #column-left .module_wrap {
        border: 1px solid var(--grey-border);
    }
}

@media screen and (max-width: 560px) {
    .recommend-slider .head {
        flex-direction: column;
    }
}

.blog-editorial-group {
    background: #eaf3f5;
    margin: 24px 0;
    padding: 16px
}

.blog-editorial-group__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px
}

.blog-editorial-group__head h3 {
    margin: 0
}

.blog-editorial-group__dates {
    display: flex;
    gap: 20px;
    color: #7a8691
}

.blog-editorial-group__items {
    display: flex;
    flex-wrap: wrap;
    margin-top: 14px
}

.blog-editorial-group__item {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 50%;
    padding: 14px;
    color: #00788b
}

.blog-editorial-group__item img {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover
}

.blog-editorial-group__item span {
    display: block;
    font-size: 20px;
    line-height: 1.2
}

.blog-editorial-group__item small {
    display: block;
    color: #7a7a7a
}

.blog-team-grid {
    display: grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap: 24px
}

.blog-team-card {
    background: #eaf3f5;
    padding: 28px;
    text-align: center
}

.blog-team-card img {
    width: 240px;
    height: 240px;
    border-radius: 50%;
    object-fit: cover
}

.blog-team-card h3 {
    margin: 24px 0 10px
}

.blog-team-social a {
    margin: 0 4px
}

.blog-team-detail {
    display: flex;
    gap: 24px
}

.blog-team-detail__side {
    background: #eaf3f5;
    padding: 20px;
    min-width: 320px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 30px;
    align-items: center;
}

.blog-team-detail__side img {
    width: 240px;
    height: 240px;
    border-radius: 50%;
    object-fit: cover
}
.blog-team-detail .name{
    font-size: 22px;
    color: var(--link-color);
    font-weight: 600;
    margin-bottom: 0;
}
.blog-team-detail .position{
    color: var(--grey);
    font-size: 16px;
    margin-bottom: 0;
}
.blog-team-detail .blog-team-social a .fa{
    font-size: 22px;
}
/* ===== Geo City Modal ===== */
.geo-city-modal .modal-dialog {
    max-width: 560px;
}
.geo-city-modal .modal-header {
    border-bottom: 1px solid #e8e8e8;
    padding: 20px 24px 16px;
}
.geo-city-modal .modal-title {
    font-size: 18px;
    font-weight: 600;
}
.geo-city-modal .modal-body {
    padding: 20px 24px 24px;
}
.geo-city-search-wrap {
    position: relative;
    margin-bottom: 20px;
}
.geo-city-search-input {
    height: 44px;
    border-radius: 8px;
    border: 1.5px solid #d0d5dd;
    font-size: 15px;
    padding: 10px 14px;
}
.geo-city-search-input:focus {
    border-color: var(--link-color, #008aad);
    box-shadow: none;
    outline: none;
}
.geo-city-search-results {
    display: none;
    position: absolute;
    left: 0; right: 0; top: calc(100% + 4px);
    background: #fff;
    border: 1.5px solid #d0d5dd;
    border-radius: 8px;
    z-index: 10;
    max-height: 260px;
    overflow-y: auto;
    box-shadow: 0 4px 12px rgba(0,0,0,.1);
}
.geo-city-search-results.is-open {
    display: block;
}
.city-search-result-item {
    display: block;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 10px 14px;
    font-size: 14px;
    cursor: pointer;
    border-bottom: 1px solid #f2f2f2;
    color: #333;
    transition: background .15s;
}
.city-search-result-item:last-child { border-bottom: none; }
.city-search-result-item:hover { background: #f5fafc; color: var(--link-color, #008aad); }
.geo-featured-cities {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.city-btn {
    display: inline-block;
    padding: 7px 14px;
    font-size: 14px;
    border-radius: 6px;
    border: 1.5px solid #d0d5dd;
    background: #fff;
    color: #333;
    cursor: pointer;
    transition: border-color .15s, color .15s, background .15s;
    line-height: 1.4;
}
.city-btn:hover,
.city-btn.is-active {
    border-color: var(--link-color, #008aad);
    color: var(--link-color, #008aad);
    background: #f5fafc;
}

/* ===== Article AI Block ===== */
.article-ai-block {
    margin: 18px 0 20px;
    padding: 14px 16px;
    background: #f5fafc;
    border-radius: 10px;
    border: 1.5px solid #d6eaf3;
}
.article-ai-block__title {
    margin: 0 0 12px;
    font-size: 14px;
    color: #555;
}
.article-ai-block__bots {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.ai-bot-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 8px;
    background: #fff;
    border: 1.5px solid #d0d5dd;
    color: #333;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    transition: border-color .15s, background .15s, color .15s;
    line-height: 1.3;
}
.ai-bot-btn:hover {
    border-color: var(--link-color, #008aad);
    background: #eaf6fb;
    color: var(--link-color, #008aad);
    text-decoration: none;
}
.ai-bot-icon {
    display: inline-flex;
    align-items: center;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}
.ai-bot-icon svg {
    width: 18px;
    height: 18px;
}

/* ===== Article FAQ ===== */
.entity-faq h2 {
    font-size: 22px;
    margin-bottom: 16px;
}
.entity-faq .faq-item {
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 0;
}
.entity-faq .faq-question {
    font-size: 17px;
    margin: 0;
    padding: 14px 0;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    user-select: none;
}
.entity-faq .faq-question:hover {
    color: var(--link-color, #3a6abf);
}
.entity-faq .faq-arrow {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.2s;
    margin-top: -4px;
}
.entity-faq .faq-question[aria-expanded="true"] .faq-arrow {
    transform: rotate(-135deg);
    margin-top: 4px;
}
.entity-faq .faq-answer {
    padding-bottom: 14px;
}

/* modal-map styles (required on all pages including catalog) */
.modal-map .modal-dialog {
    max-width: 1270px;
}
.modal-map .modal-content {
    border-radius: 16px;
    overflow: hidden;
    border: none;
    box-shadow: 0 8px 40px rgba(0, 0, 0, .13);
}
.modal-map .modal-header {
    padding: 20px 28px 16px;
    border-bottom: 1px solid #efefef;
}
.modal-map .modal-title {
    font-size: 18px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.modal-map .modal-city-link {
    color: var(--link-color, #00747F);
    display: inline-flex;
    align-items: center;
    gap: 5px;
    text-decoration: none;
    font-weight: 600;
}
.modal-map .modal-city-link:hover {
    text-decoration: underline;
}
.modal.is-refreshing .modal-content {
    position: relative;
}
.modal.is-refreshing .modal-content > :not(.modal-refresh-overlay) {
    filter: blur(2px);
    opacity: .65;
    pointer-events: none;
    user-select: none;
}
.modal-refresh-overlay {
    position: absolute;
    inset: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .56);
    backdrop-filter: blur(2px);
}
.modal-refresh-spinner {
    width: 46px;
    height: 46px;
    border: 4px solid rgba(0, 116, 127, .18);
    border-top-color: var(--link-color, #00747F);
    border-radius: 50%;
    animation: modal-refresh-spin .75s linear infinite;
}
@keyframes modal-refresh-spin {
    to {
        transform: rotate(360deg);
    }
}
.modal-map .modal-body {
    padding: 16px 28px 28px;
}
.modal-map .product-stores-content {
    display: flex;
    gap: 16px;
    height: 560px;
}
.modal-map .modal-form {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.modal-map .modal-form {
    flex: 1 1 55%;
    min-width: 420px;
}
.modal-map .product-map {
    flex: 1 1 45%;
    min-width: 420px;
}

.modal-map .product-map-leaflet {
    width: 100%;
    height: 520px;
    background: #f2f2f2;
    border-radius: 10px;
}
/* Search */
.modal-map .stores-list-search {
    position: relative;
    margin-bottom: 10px;
    flex-shrink: 0;
}
.modal-map .stores-list-search input {
    width: 100%;
    padding: 9px 40px 9px 14px;
    border: 1px solid #e2e2e2;
    border-radius: 8px;
    font-size: 14px;
    background: #fff;
    outline: none;
    transition: border-color .15s;
}
.modal-map .stores-list-search input:focus {
    border-color: var(--link-color, #00747F);
}
.modal-map .stores-search-icon {
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background-image: url(../image/search.svg);
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.4;
    pointer-events: none;
    display: block;
}
/* Header row */
.modal-map .availability-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 110px 130px 100px;
    gap: 12px;
    font-size: 12px;
    color: #aaa;
    padding: 0 0 8px;
    flex-shrink: 0;
    border-bottom: 1px solid #efefef;
}
/* Scrollable table */
.modal-map .availability-table {
    flex: 1;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #ddd transparent;
}
.modal-map .availability-table::-webkit-scrollbar {
    width: 4px;
}
.modal-map .availability-table::-webkit-scrollbar-track {
    background: transparent;
}
.modal-map .availability-table::-webkit-scrollbar-thumb {
    background: #ddd;
    border-radius: 4px;
}
/* Row */
.modal-map .availability-row {
    display: grid;
    grid-template-columns: 1fr 110px 130px 100px;
    gap: 12px;
    padding: 12px 8px;
    border-top: 1px solid #e6e6e6;
    align-items: center;
    border-radius: 6px;
    transition: background 0.15s;
}

.modal-map .availability-row:hover {
    background: #f5f8ff;
}

.modal-map .availability-row.is-active {
    background: #e8f0fe;
    border-top-color: transparent;
    box-shadow: 0 0 0 1px #4a90d9 inset;
}

.modal-map .availability-row.is-active + .availability-row {
    border-top-color: transparent;
}

.modal-map .availability-row .addr {
    line-height: 1.25;
}

.modal-map .availability-row .meta {
    white-space: nowrap;
}

.modal-map .availability-mobile-label {
    display: none;
}
.modal-map .btn-show-on-map {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 6px;
    padding: 3px 10px;
    font-size: 12px;
    color: var(--link-color, #3a6abf);
    background: none;
    border: 1px solid currentColor;
    border-radius: 20px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    line-height: 1.6;
}

.modal-map .btn-show-on-map:hover,
.modal-map .availability-row.is-active .btn-show-on-map {
    background: var(--link-color, #3a6abf);
    color: #fff;
}

.modal-map .your-city {
    text-decoration: none;
}

.modal-map .btn-reserve-location {
    display: inline-block;
    padding: 7px 14px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
    border-radius: 4px;
    border: 1.5px solid var(--link-color);
    color: var(--link-color);
    background: #fff;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    text-align: center;
    width: 100%;
}
.modal-map .btn-reserve-location:hover {
    background: var(--link-color);
    color: #fff;
    border-color: var(--link-color);
}
.modal-map .availability-row .addr {
    align-self: start;
}
/* Responsive */
@media (max-width: 900px) {
    .modal-map .product-stores-content {
        flex-direction: column;
        height: auto;
    }
    .modal-map .modal-form {
        flex: none;
        max-height: 320px;
    }
    .modal-map .product-map {
        flex: none;
        height: 300px;
    }
    .modal-map .product-map-leaflet {
        height: 300px;
    }
}

@media (max-width: 575.98px) {
    .modal-map .modal-dialog,
    .modal-map .modal-dialog-centered,
    .geo-city-modal .modal-dialog,
    .geo-city-modal .modal-dialog-centered {
        align-items: center;
        margin: 8px auto;
        max-width: calc(100% - 16px);
        min-height: calc(100% - 16px);
        width: calc(100% - 16px);
    }

    .modal-map .modal-content,
    .geo-city-modal .modal-content {
        border-radius: 12px;
        display: flex;
        flex-direction: column;
        max-height: calc(100dvh - 16px);
        min-width: 0;
        overflow: hidden;
        width: 100%;
    }

    .modal-map .modal-header,
    .geo-city-modal .modal-header {
        align-items: center;
        flex: 0 0 auto;
        gap: 8px;
        padding: 12px 12px 12px 16px;
    }

    .modal-map .modal-title,
    .geo-city-modal .modal-title {
        font-size: 17px;
        line-height: 23px;
        min-width: 0;
    }

    .modal-map .btn-close,
    .geo-city-modal .btn-close,
    .oneclick-modal .btn-close,
    .popupcart-modal .btn-close {
        align-items: center;
        display: inline-flex;
        flex: 0 0 44px;
        height: 44px;
        justify-content: center;
        margin: -8px -8px -8px 0;
        padding: 0;
        width: 44px;
    }

    .modal-map .modal-body,
    .geo-city-modal .modal-body {
        flex: 1 1 auto;
        min-height: 0;
        overscroll-behavior: contain;
        overflow-y: auto;
        padding: 14px 16px 16px;
    }

    .modal-map .product-stores-content {
        gap: 14px;
        height: auto;
        min-width: 0;
        width: 100%;
    }

    .modal-map .modal-form,
    .modal-map .product-map {
        flex: none;
        height: auto;
        max-height: none;
        min-width: 0;
        overflow: visible;
        width: 100%;
    }

    .modal-map .stores-list-search input {
        font-size: 16px;
        min-height: 44px;
    }

    .modal-map .product-map,
    .modal-map .product-map-leaflet {
        min-height: 300px;
    }

    .modal-map .leaflet-top.leaflet-left {
        bottom: 0;
        top: auto;
    }

    .modal-map .availability-header {
        display: none;
    }

    .modal-map .availability-table {
        flex: none;
        max-height: min(230px, 31dvh);
        overflow-y: auto;
        padding-right: 2px;
    }

    .modal-map .availability-row {
        align-items: start;
        background: var(--white-color);
        border: 1px solid var(--grey-border);
        border-radius: 8px;
        gap: 10px 12px;
        grid-template-columns: minmax(0, 1fr) minmax(0, auto);
        margin-bottom: 8px;
        padding: 12px;
    }

    .modal-map .availability-row:last-child {
        margin-bottom: 0;
    }

    .modal-map .availability-row .addr,
    .modal-map .availability-reserve {
        grid-column: 1 / -1;
    }

    .modal-map .availability-row .addr {
        overflow-wrap: anywhere;
    }

    .modal-map .availability-row .meta {
        min-width: 0;
        white-space: normal;
    }

    .modal-map .availability-hours {
        text-align: right;
    }

    .modal-map .availability-mobile-label {
        color: var(--font-color-grey);
        display: block;
        font-size: 11px;
        font-weight: 400;
        line-height: 15px;
        margin-bottom: 2px;
    }

    .modal-map .availability-price .current-price {
        font-weight: 600;
    }

    .modal-map .btn-show-on-map,
    .modal-map .btn-reserve-location {
        min-height: 40px;
    }

    .modal-map .btn-reserve-location {
        border-radius: 6px;
    }

    .modal-map .product-map,
    .modal-map .product-map-leaflet {
        height: clamp(210px, 30dvh, 260px);
    }

    .modal-map .product-map-leaflet {
        border-radius: 8px;
        min-width: 0;
    }

    .modal-map .leaflet-control-attribution,
    .oneclick-modal .leaflet-control-attribution {
        font-size: 9px;
        line-height: 12px;
        max-width: calc(100% - 48px);
        white-space: normal;
    }

    .geo-city-modal .modal-body {
        padding-top: 16px;
    }

    .geo-city-search-wrap {
        margin-bottom: 14px;
    }

    .geo-city-search-input {
        font-size: 16px;
        min-height: 44px;
    }

    .geo-featured-cities {
        gap: 6px;
    }

    .city-btn {
        min-height: 40px;
        padding: 7px 12px;
    }
}

/* Popup cart modal */
.popupcart-modal {
    z-index: 1075;
}

.popupcart-backdrop {
    z-index: 1070;
}

.popupcart-modal .modal-dialog {
    align-items: center;
    display: flex;
    margin: 20px auto;
    max-width: 864px;
    width: calc(100% - 40px);
}

.popupcart-modal .modal-content {
    border: 0;
    box-shadow: 0 8px 32px rgba(0,0,0,0.14);
    display: flex;
    height: 80dvh;
    overflow: hidden;
}

.popupcart-modal .modal-header {
    align-items: flex-start;
    border-bottom: 0;
    padding: 50px 40px 20px;
}

.popupcart-modal .modal-title {
    color: var(--font-color);
    font-size: 26px;
    line-height: 34px;
    font-weight: 600;
    margin: 0;
}

.popupcart-modal .btn-close {
    background: none;
    border: 0;
    color: var(--font-color);
    font-size: 26px;
    line-height: 1;
    opacity: 1;
    padding: 0;
    position: absolute;
    top: 20px;
    right: 20px;
}

.popupcart-modal .modal-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 0;
}

.popupcart-content {
    flex: 1 1 auto;
    padding: 0 50px 40px;
}

.popupcart-warning {
    align-items: center;
    background: #fff0dc;
    border: 1px solid #ff922e;
    color: #000;
    display: flex;
    font-size: 18px;
    gap: 14px;
    line-height: 1.35;
    margin-bottom: 26px;
    padding: 16px 22px;
}

.popupcart-warning .fa {
    color: #ff922e;
    font-size: 32px;
}

.popupcart-products {
    border-top: 1px solid #dfe9eb;
}

.popupcart-row {
    align-items: center;
    border-bottom: 1px solid #dfe9eb;
    display: grid;
    gap: 22px;
    grid-template-columns: 91px minmax(195px, 1fr) auto 102px 33px;
    padding: 15px 0;
}

.popupcart-thumb img {
    display: block;
    height: auto;
    max-width: 100%;
}

.popupcart-name {
    display: block;
    font-size: 14px;
    line-height: 19px;
    color: var(--font-color);
    margin: 0 0 3px;
}

.popupcart-name:hover {
    color: var(--link-color);
}

.popupcart-unit-price {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    font-size: 14px;
    line-height: 19px;
    color: var(--font-color);
    margin-top: 10px;
}

.popupcart-options {
    color: var(--font-color-light);
    font-size: 13px;
    line-height: 1.4;
    margin-top: 8px;
}

.popupcart-quantity {
    justify-content: center;
}

.popupcart-single-quantity {
    align-items: center;
    display: inline-flex;
    flex-direction: column;
}

.popupcart-single-quantity .amount-title {
    color: var(--grey);
    font-size: 14px;
    margin: 0;
}

.popupcart-single-field {
    background: var(--white-color);
    border: 1px solid var(--grey-border);
    display: flex;
    flex-wrap: nowrap;
    height: 50px;
    width: 116px;
}

.popupcart-single-button {
    align-items: center;
    background: var(--white-color);
    border: 0;
    color: var(--link-color);
    cursor: pointer;
    display: flex;
    flex: 0 0 38px;
    font-size: 24px;
    justify-content: center;
    line-height: 1;
    padding: 0;
}

.popupcart-single-input {
    border: 0;
    color: var(--font-color);
    flex: 1 1 auto;
    font-size: 16px;
    min-width: 0;
    text-align: center;
    width: 40px;
    -moz-appearance: textfield;
}

.popupcart-single-input::-webkit-outer-spin-button,
.popupcart-single-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

.popupcart-row-total {
    color: #000;
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    font-size: 16px;
    line-height: 1.2;
    text-align: left;
    flex-direction: column;
    white-space: nowrap;
}
.popupcart-row-total .price-new{
    font-size: 20px;
    font-weight: 600;
}
.popupcart-unit-price .price-prefix,
.popupcart-row-total .price-prefix {
    font-size: 16px;
    font-weight: 400;
}

.popupcart-unit-price .price-old,
.popupcart-row-total .price-old {
    color: var(--font-color-grey);
    position: relative;
}

.popupcart-unit-price .price-old::before,
.popupcart-row-total .price-old::before {
    background: var(--red);
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    top: 50%;
    width: 100%;
}

.popupcart-unit-price .price-saving,
.popupcart-row-total .price-saving {
    background: #ffe9e5;
    color: #000;
    flex: 0 0 100%;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    padding: 3px 7px;
    width: fit-content;
}

.popupcart-unit-price .price-saving strong,
.popupcart-row-total .price-saving strong {
    color: var(--red);
    font-weight: 600;
}

.popupcart-remove {
    background: none;
    border: 0;
    color: var(--font-color);
    cursor: pointer;
    font-size: 26px;
    line-height: 1;
    padding: 0;
}

.popupcart-empty {
    color: var(--font-color-light);
    font-size: 18px;
    padding: 32px 0 80px;
}

.popupcart-footer {
    align-items: end;
    background: var(--lighter-blue);
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin-top: auto;
    padding: 24px 64px;
}

.popupcart-continue {
    background: none;
    border: 0;
    color: var(--link-color);
    cursor: pointer;
    font-size: 14px;
    line-height: 1.3;
    padding: 0;
    margin-bottom: 15px;
}

.popupcart-checkout-side {
    align-items: center;
    display: grid;
    gap: 14px 24px;
    grid-template-columns: 1fr auto;
    min-width: 412px;
}

.popupcart-total-label {
    color: var(--font-color-light);
    font-size: 16px;
    line-height: 1.2;
}

.popupcart-total-value {
    color: #000;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2;
    text-align: right;
    white-space: nowrap;
}

.popupcart-checkout {
    align-items: center;
    background: var(--link-color);
    border: 0;
    color: var(--white-color);
    display: inline-flex;
    font-size: 16px;
    font-weight: 600;
    grid-column: 1 / span 2;
    justify-content: center;
    line-height: 1.2;
    padding: 13px 15px;
    text-align: center;
    text-decoration: none;
}

.popupcart-checkout:hover {
    background: var(--btn-hover);
    color: var(--white-color);
}

@media (max-width: 991.98px) {
    .popupcart-modal .modal-dialog {
        margin: 8px auto;
        min-height: calc(100% - 16px);
        width: calc(100% - 16px);
    }

    .popupcart-modal .modal-content {
        min-height: calc(100vh - 16px);
    }

    .popupcart-modal .modal-header {
        padding: 28px 24px 18px;
    }

    .popupcart-modal .modal-title {
        font-size: 30px;
    }

    .popupcart-content {
        padding: 0 24px 28px;
    }

    .popupcart-row {
        grid-template-columns: 82px minmax(0, 1fr) 36px;
        gap: 14px;
    }

    .popupcart-quantity,
    .popupcart-row-total {
        grid-column: 2 / span 2;
    }

    .popupcart-row-total {
        font-size: 24px;
    }

    .popupcart-footer {
        align-items: stretch;
        flex-direction: column;
        padding: 20px 24px;
    }

    .popupcart-checkout-side {
        min-width: 0;
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .popupcart-modal .modal-dialog {
        align-items: center;
    }

    .popupcart-modal .modal-content {
        height: auto;
        max-height: calc(100dvh - 16px);
        min-height: 0;
    }

    .popupcart-modal .modal-body {
        min-height: 0;
    }

    .popupcart-modal .modal-header {
        flex: 0 0 auto;
        min-height: 64px;
        padding: 18px 56px 12px 16px;
    }

    .popupcart-modal .modal-title {
        font-size: 22px;
        line-height: 29px;
    }

    .popupcart-modal .btn-close {
        margin: 0;
        right: 8px;
        top: 8px;
    }

    .popupcart-content {
        min-height: 0;
        overscroll-behavior: contain;
        overflow-y: auto;
        padding: 0 16px 18px;
    }

    .popupcart-warning {
        font-size: 15px;
        padding: 12px 14px;
    }

    .popupcart-row {
        align-items: start;
        gap: 10px;
        grid-template-areas:
            "thumb info remove"
            "thumb quantity quantity"
            "thumb total total";
        grid-template-columns: 64px minmax(0, 1fr) 40px;
    }

    .popupcart-thumb {
        grid-area: thumb;
    }

    .popupcart-info {
        grid-area: info;
    }

    .popupcart-name {
        font-size: 16px;
    }

    .popupcart-unit-price {
        font-size: 15px;
    }

    .popupcart-quantity {
        grid-area: quantity;
        grid-column: auto;
        justify-content: flex-start;
        overflow-x: auto;
    }

    .popupcart-row-total {
        grid-area: total;
        grid-column: auto;
    }

    .popupcart-remove {
        align-items: center;
        display: inline-flex;
        grid-area: remove;
        height: 40px;
        justify-content: center;
        justify-self: end;
        width: 40px;
    }

    .popupcart-footer {
        flex: 0 0 auto;
        gap: 12px;
        padding: 14px 16px 16px;
    }

    .popupcart-continue {
        align-items: center;
        display: inline-flex;
        justify-content: center;
        margin: 0;
        min-height: 40px;
    }

    .popupcart-checkout-side {
        gap: 8px 16px;
        grid-template-columns: 1fr auto;
    }

    .popupcart-total-value {
        font-size: 28px;
        text-align: right;
    }

    .popupcart-checkout {
        grid-column: 1 / -1;
        font-size: 16px;
        min-height: 48px;
    }
}

/* ===== Section heading pattern ===== */
.section-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin: 0 0 20px;
}
.section-head-title {
    font-size: 24px;
    font-weight: 700;
    color: #222;
    margin: 0;
    line-height: 1.2;
}
.section-head-link {
    color: var(--link-color);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
}
.section-head-link:hover {
    text-decoration: underline;
}

/* ===== Product block slider ===== */
.recommend-slider {
    margin-bottom: 40px;
}
.article-info .recommend-slider {
    margin-bottom: 20px;
}
.article-info .recommend-slider .swiper-wrapper {
    padding-bottom: 40px;
}
.recommend-slider .head {
    margin-bottom: 20px;
}
.recommend-slider .title h2 {
    font-size: 24px;
    font-weight: 700;
    color: #222;
    margin: 0;
    line-height: 1.2;
}
.recommend-slider .head .section-head-link {
    margin-right: 0;
}

/* ===== Home blog section ===== */
.home-blog-section {
    margin-bottom: 40px;
}
.home-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.home-blog-grid--4 {
    grid-template-columns: repeat(4, 1fr);
}
.home-blog-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    border-radius: 8px;
    overflow: hidden;
    transition: box-shadow .2s ease;
}
.home-blog-card:hover {
    color: inherit;
    text-decoration: none;
}
.home-blog-img {
    aspect-ratio: 3/2;
    overflow: hidden;
    background: #f5f5f5;
}
.home-blog-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .3s ease;
}
.home-blog-body {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 14px 16px 16px;
    flex: 1;
}
.home-blog-name {
    font-size: 15px;
    font-weight: 600;
    color: #222;
    margin: 0;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.home-blog-desc {
    font-size: 13px;
    color: var(--grey);
    line-height: 1.5;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.home-blog-more {
    color: var(--link-color);
    font-size: 13px;
    font-weight: 500;
    margin-top: auto;
}
@media (max-width: 991px) {
    .home-blog-grid,
    .home-blog-grid--4 {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 575px) {
    .home-blog-grid,
    .home-blog-grid--4 {
        grid-template-columns: 1fr;
    }
    .section-head-title {
        font-size: 20px;
    }
    .recommend-slider .title h2 {
        font-size: 20px;
    }
}

@media (min-width: 992px) {
    .article-info .recommend-slider .swiper-wrapper {
        padding-bottom: 0;
    }
}

/* ===== HTML module / SEO text ===== */
.html-module-block {
    font-size: 15px;
    line-height: 1.7;
    color: #444;
    margin-bottom: 40px;
}
.html-module-block h1 {
    font-size: 26px;
    font-weight: 700;
    color: #222;
    margin: 0 0 20px;
    line-height: 1.3;
}
.html-module-block h2 {
    font-size: 20px;
    font-weight: 700;
    color: #222;
    margin: 28px 0 14px;
    line-height: 1.3;
}
.html-module-block p {
    margin: 0 0 14px;
}
.html-module-block ul,
.html-module-block ol {
    padding-left: 22px;
    margin: 0 0 14px;
}
.html-module-block li {
    margin-bottom: 6px;
}

/* ===== Checkout header ===== */
.checkout-header {
    background: var(--white-color);
    border-bottom: 1px solid var(--grey-border);
}

.checkout-header__inner {
    align-items: center;
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(120px, 220px) minmax(0, 1fr) minmax(170px, 220px);
    min-height: 92px;
}

.checkout-header__logo img {
    display: block;
    height: auto;
    max-height: 52px;
    max-width: 190px;
}

.checkout-header__title {
    font-size: 24px;
    font-weight: 600;
    line-height: 32px;
    text-align: center;
}

.checkout-header__contact {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    font-size: 14px;
    line-height: 20px;
}

.checkout-header__contact .phone-header {
    color: var(--font-color);
    font-size: 18px;
    font-weight: 600;
    line-height: 26px;
    text-decoration: none;
}

/* ===== Checkout stock flow ===== */
.checkout-page .hide {
    display: none !important;
}

.checkout-page h1 {
    font-size: 28px;
    font-weight: 700;
    line-height: 36px;
    margin: 0 0 20px;
}

.checkout-page .checkout-holder {
    padding: 0 0 15px;
}

.checkout-page .checkout-content {
    margin: 0 0 30px;
}

.checkout-page .checkout-section {
    border-bottom: 2px solid var(--grey-border);
    padding: 25px 0;
}

.checkout-page .checkout-section:not(.active):not(.edit) .checkout-title {
    opacity: .5;
}

.checkout-page .checkout-section:not(.active):not(.edit) .checkout-section-body,
.checkout-page .checkout-section:not(.active):not(.edit) .checkout-section-result,
.checkout-page .checkout-section.active:not(.edit) .checkout-section-result,
.checkout-page .checkout-section.edit .checkout-section-body {
    display: none;
}

.checkout-page .checkout-section-result {
    margin: 10px 0 0 39px;
}

.checkout-page .checkout-result {
    font-size: 14px;
    line-height: 20px;
    margin: 0 0 10px;
    opacity: .6;
}

.checkout-page .edit-link {
    color: var(--link-color);
    display: inline-block;
    font-size: 14px;
    line-height: 20px;
    text-decoration: none;
}

.checkout-page .checkout-order-title {
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
    margin: 25px 0 0;
}

.checkout-page .checkout-section .title-holder {
    font-size: 22px;
    font-weight: 600;
    line-height: 30px;
}

.checkout-page .checkout-section .form-group {
    margin: 0 0 10px;
}

.checkout-page .checkout-section-body {
    padding: 20px 0 0;
}

.checkout-page .checkout-title {
    align-items: center;
    display: flex;
}

.checkout-page .checkout-title .ico {
    align-items: center;
    display: flex;
    height: 24px;
    justify-content: center;
    margin: 0 15px 0 0;
    width: 24px;
}

.checkout-page .delivery-city,
.checkout-page .delivery-type {
    margin-bottom: 20px;
}

.checkout-page .delivery-type__title {
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    margin: 0 0 12px;
}

.checkout-page .radio-controls {
    display: flex;
    gap: 10px;
    overflow: hidden;
    width: 100%;
}

.checkout-page .radio-controls:not(.tab-controls) {
    flex-direction: column;
}

.checkout-page .radio-controls.tab-controls {
    gap: 0;
    overflow-x: auto;
}

.checkout-page .radio-title {
    flex: 1 1 auto;
    margin: 0;
    position: relative;
}

.checkout-page .radio-title input {
    opacity: 0;
    position: absolute;
}

.checkout-page .radio-title.disabled {
    opacity: .55;
}

.checkout-page .radio-title.disabled .radio-label {
    cursor: default;
}

.checkout-page .radio-label {
    background: var(--white-color);
    border: 1px solid var(--grey-border);
    cursor: pointer;
    display: block;
    padding: 19px;
    width: 100%;
}

.checkout-page .tab-controls .radio-title {
    flex: 1 0 0;
    min-width: 180px;
}

.checkout-page .tab-controls .radio-title + .radio-title .radio-label {
    margin-left: -1px;
}

.checkout-page .tab-controls .radio-label {
    align-items: center;
    display: flex;
    min-height: 64px;
}

.checkout-page .checkout-delivery-controls .radio-description {
    display: none;
}

.checkout-page .checkout-payment-controls .radio-label {
    align-items: flex-start;
    flex-direction: column;
}

.checkout-page .radio-title.active .radio-label,
.checkout-page .radio-title input:checked + .radio-label {
    background: var(--lighter-blue);
    border-color: var(--link-color);
}

.checkout-page .radio-name {
    align-items: center;
    display: flex;
    gap: 10px;
    font-size: 15px;
    font-weight: 600;
    line-height: 22px;
}

.checkout-page .radio-name i {
    flex: 0 0 auto;
}

.checkout-page .radio-description {
    display: block;
    font-size: 14px;
    line-height: 20px;
    padding: 4px 0 0;
}

.checkout-page .radio-info {
    display: grid;
    gap: 12px;
    padding: 20px 0 0;
}

.checkout-page .radio-block {
    background: var(--white-color);
    border: 1px solid var(--grey-border);
}

.checkout-page .radio-block.disabled {
    opacity: .55;
}

.checkout-page .radio-block .radio-label {
    border: 0;
    display: flex;
    gap: 10px;
    padding: 16px 18px;
}

.checkout-page .radio-block .radio-input {
    flex: 0 0 auto;
    margin: 4px 0 0;
}

.checkout-page .radio-text {
    font-size: 15px;
    font-weight: 600;
    line-height: 22px;
}

.checkout-page .radio-expanded {
    border-top: 1px solid var(--grey-border);
    display: none;
    padding: 16px 18px 18px;
}

.checkout-page .radio-block.opened .radio-expanded {
    display: block;
}

.checkout-page .checkout-novaposhta-type {
    display: block;
}

.checkout-page .checkout-novaposhta-type .radio-block {
    border: 0;
    margin: 0 0 30px;
}

.checkout-page .checkout-novaposhta-type .radio-block:last-child {
    margin-bottom: 0;
}

.checkout-page .checkout-novaposhta-type .radio-block .radio-label {
    align-items: center;
    cursor: pointer;
    min-height: 38px;
    padding: 0;
    position: relative;
}

.checkout-page .checkout-novaposhta-type .radio-block .radio-input {
    height: 1px;
    left: 0;
    margin: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 1px;
}

.checkout-page .checkout-novaposhta-type .radio-text {
    color: var(--font-color);
    display: block;
    font-size: 18px;
    font-weight: 600;
    line-height: 26px;
    min-height: 38px;
    padding: 6px 0 0 54px;
    position: relative;
}

.checkout-page .checkout-novaposhta-type .radio-text:before,
.checkout-page .checkout-novaposhta-type .radio-text:after {
    border-radius: 50%;
    content: '';
    position: absolute;
}

.checkout-page .checkout-novaposhta-type .radio-text:before {
    background: var(--white-color);
    border: 1px solid var(--grey-border);
    height: 38px;
    left: 0;
    top: 0;
    width: 38px;
}

.checkout-page .checkout-novaposhta-type .radio-text:after {
    background: var(--white-color);
    display: none;
    height: 12px;
    left: 13px;
    top: 13px;
    width: 12px;
}

.checkout-page .checkout-novaposhta-type .radio-input:checked + .radio-text:before {
    background: var(--link-color);
    border-color: var(--link-color);
}

.checkout-page .checkout-novaposhta-type .radio-input:checked + .radio-text:after {
    display: block;
}

.checkout-page .checkout-novaposhta-type .radio-expanded {
    border: 0;
    margin: 20px 0 0 54px;
    padding: 0;
}

.checkout-page .checkout-warehouse-select {
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, var(--grey) 50%), linear-gradient(135deg, var(--grey) 50%, transparent 50%);
    background-position: calc(100% - 22px) 24px, calc(100% - 16px) 24px;
    background-repeat: no-repeat;
    background-size: 6px 6px, 6px 6px;
    color: var(--font-color);
    font-size: 18px;
    height: 64px;
    line-height: 24px;
    padding: 27px 45px 9px 15px;
    width: 100%;
}

.checkout-page .input.is-invalid,
.checkout-page .checkout-warehouse-select.is-invalid,
.checkout-page .pharmacy-list.is-invalid {
    border-color: var(--red2) !important;
}

.checkout-page .error-text {
    color: var(--red2);
    display: none;
    font-size: 12px;
    line-height: 16px;
    margin: 3px 0 0;
}

.checkout-page .search-btn,
.checkout-page .geo-city-trigger {
    align-items: center;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    height: 24px;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: 13px;
    top: 13px;
    width: 24px;
    z-index: 2;
}

.checkout-page .geo-city-trigger {
    color: var(--link-color);
}

.checkout-page .search-btn .icon-search {
    display: block;
}

.checkout-page .checkout-city-popular {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    list-style: none;
    margin: 10px 0 0;
    padding: 0;
}

.checkout-page .checkout-city-popular a {
    color: var(--link-color);
    font-size: 14px;
    line-height: 20px;
    text-decoration: none;
}

.checkout-page .checkout-city-popular a.active {
    color: var(--font-color);
    font-weight: 600;
}

.checkout-page .checkout-city-suggest {
    background: var(--white-color);
    border: 1px solid var(--grey-border);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
    left: 0;
    max-height: 260px;
    overflow-y: auto;
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    z-index: 30;
}

.checkout-page .checkout-city-suggest__item,
.checkout-page .checkout-city-suggest__empty {
    background: transparent;
    border: none;
    color: var(--font-color);
    display: block;
    font-size: 14px;
    line-height: 20px;
    padding: 10px 14px;
    text-align: left;
    width: 100%;
}

.checkout-page .checkout-city-suggest__item:hover {
    background: var(--lighter-blue);
}

.checkout-page .pharmacy-select__panel {
    border-bottom: 1px solid var(--grey-border);
    padding-block: 20px;
}

.checkout-page .checkout-order-split {
    border-top: 1px solid var(--grey-border);
    margin-top: 25px;
}

.checkout-page .pharmacy-select #map-block {
    height: 257px;
    position: relative;
}

.checkout-page .pharmacy-select #map-block > * {
    display: block;
    height: 100%;
    margin: 0;
}

.checkout-page .pharmacy-list {
    padding-top: 20px;
}

.checkout-page .pharmacy-list__item {
    align-items: stretch;
    border-bottom: 1px solid var(--grey-border);
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 15px 0;
}

.checkout-page .pharmacy-list__item:first-child {
    padding-top: 0;
}

.checkout-page .pharmacy-list__item.active {
    background: var(--lighter-blue);
    margin-left: -12px;
    margin-right: -12px;
    padding-left: 12px;
    padding-right: 12px;
}

.checkout-page .pharmacy-list .block,
.checkout-page .pharmacy-list .row {
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-left: 0;
    margin-right: 0;
    position: relative;
    width: 100%;
}

.checkout-page .pharmacy-list .block {
    align-items: center;
    flex-direction: column;
}

.checkout-page .availability-address,
.checkout-page .availability-time {
    align-items: center;
    display: flex;
    font-size: 14px;
    gap: 8px;
    line-height: 20px;
}

.checkout-page .availability-address {
    font-weight: 600;
}

.checkout-page .availability-count {
    color: var(--link-color);
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    white-space: nowrap;
}

.checkout-page .pharmacy-list .on-map-link:not(.pharmacy-action-btn) {
    color: var(--link-color);
    display: block;
    font-size: 14px;
    line-height: 20px;
    white-space: nowrap;
}

.checkout-page .pharmacy-list .btn {
    min-width: 150px;
    white-space: nowrap;
}

.checkout-page .btn-outline,
.checkout-page .btn-outline-red {
    background: var(--white-color);
    border: 1px solid var(--link-color);
    color: var(--link-color);
    font-size: 14px;
    line-height: 20px;
    padding: 9px 16px;
}

.checkout-page .btn-outline:hover {
    background: var(--link-color);
    color: var(--white-color);
}

.checkout-page .btn-outline-red {
    border-color: var(--red2);
    color: var(--red2);
}

.checkout-page .btn-outline-red:hover {
    background: var(--red2);
    color: var(--white-color);
}

.checkout-page .btn-outline-grey {
    background: var(--white-color);
    border: 1px solid var(--grey-border);
    color: var(--grey);
    cursor: default;
    font-size: 14px;
    line-height: 20px;
    padding: 9px 16px;
}

.checkout-page .checkbox-row {
    margin: 10px 0 0;
}

.checkout-page .checkbox-label {
    cursor: pointer;
    display: inline-flex;
    gap: 9px;
    margin: 0;
}

.checkout-page .checkbox-input {
    margin: 3px 0 0;
}

.checkout-page .checkbox-text {
    font-size: 14px;
    line-height: 20px;
}

.checkout-page .checkout-info-user,
.checkout-page .checkout-address-grid {
    display: grid;
    gap: 12px;
}

.checkout-page .checkout-info-user .input-holder {
    max-width: 385px;
}

.checkout-page .checkout-info-text {
    font-size: 14px;
    line-height: 20px;
    margin: 0 0 15px;
    max-width: 700px;
}

.checkout-page .checkout-info-user--notlogged .checkout-btn-holder,
.checkout-page .checkout-info-user--logged .checkout-btn-holder {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 1rem 2rem;
    justify-content: flex-start;
}

.checkout-page .checkout-info-user--notlogged .btn,
.checkout-page .checkout-info-user--logged .btn {
    flex-grow: 1;
}

.checkout-page .uppercase {
    text-transform: uppercase;
}

.checkout-page .message-block {
    margin-bottom: 30px;
}

.checkout-page .checkbox-row-section {
    margin: 0 0 20px;
}

.checkout-page .checkout-btn-holder {
    display: flex;
    justify-content: stretch;
}

.checkout-page .checkout-delivery-fields .checkout-btn-holder {
    justify-content: flex-start;
    margin-top: 24px;
}

.checkout-page .checkout-delivery-fields .checkout-btn-holder .btn {
    min-width: 170px;
}

.checkout-page .btn-primary {
    align-items: center;
    background: var(--link-color);
    background-image: none;
    border: 0;
    border-radius: 4px;
    box-shadow: none;
    color: var(--white-color);
    cursor: pointer;
    display: inline-flex;
    font-family: var(--font-family);
    font-size: 16px;
    font-weight: 600;
    justify-content: center;
    line-height: 24px;
    min-height: 50px;
    outline: none !important;
    padding: 13px 14px;
    text-align: center;
    text-shadow: none;
    transition: all .3s;
}

.checkout-page .btn-primary:hover {
    background: var(--btn-hover);
    color: var(--white-color);
    opacity: 1;
}

.checkout-page .btn-primary:active,
.checkout-page .btn-primary:focus {
    background: var(--btn-pressed);
    color: var(--white-color);
}

.checkout-page .btn-primary.disabled,
.checkout-page .btn-primary[disabled] {
    background: var(--light-blue);
    color: var(--white-color);
    opacity: .75;
}

.checkout-page .checkout-submit {
    width: 100%;
}

.checkout-page .checkout-alert {
    margin-bottom: 15px;
}

.checkout-page .checkout-payment-action {
    border-bottom: 2px solid var(--grey-border);
    padding: 25px 0;
}

.checkout-page .order-detail-holder {
    padding: 28px 15px 0;
}

.checkout-page .order-detail {
    background: var(--white-color);
}

.checkout-page .order-detail .title-holder {
    align-items: flex-start;
    border-bottom: 1px solid var(--grey-border);
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin: 0;
    padding: 0 0 24px;
}

.checkout-page .order-title {
    color: var(--font-color);
    font-size: 32px;
    font-weight: 700;
    line-height: 40px;
}

.checkout-page .order-edit {
    color: var(--link-color);
    flex: 0 0 auto;
    font-size: 18px;
    line-height: 26px;
    margin-top: 7px;
    text-decoration: none;
}

.checkout-page .order-edit:hover {
    color: var(--btn-hover);
}

.checkout-page .order-detail__list {
    border-bottom: 1px solid var(--grey-border);
    display: grid;
    gap: 0;
    padding: 22px 0 24px;
}

.checkout-page .order-detail__item {
    align-items: center;
    display: flex;
    gap: 18px;
    min-width: 0;
}

.checkout-page .order-detail__item + .order-detail__item {
    margin-top: 20px;
}

.checkout-page .order-detail__img {
    flex: 0 0 82px;
    height: 70px;
    overflow: hidden;
    width: 82px;
}

.checkout-page .order-detail__img a {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
}

.checkout-page .order-detail__img img {
    height: auto;
    max-height: 70px;
    max-width: 82px;
}

.checkout-page .order-detail__info {
    flex: 1 1 auto;
    min-width: 0;
}

.checkout-page .order-detail-linkname {
    font-size: 18px;
    line-height: 26px;
    margin: 0 0 6px;
}

.checkout-page .order-detail-linkname a {
    color: var(--font-color);
    text-decoration: none;
}

.checkout-page .order-detail-linkname a:hover {
    color: var(--link-color);
}

.checkout-page .order-detail__code-row {
    align-items: baseline;
    color: var(--font-color-light);
    display: flex;
    flex-wrap: wrap;
    font-size: 18px;
    gap: 12px;
    line-height: 26px;
    margin: 0 0 8px;
}

.checkout-page .order-detail__num {
    white-space: nowrap;
}

.checkout-page .order-detail-status {
    color: var(--red2);
    font-size: 18px;
    line-height: 26px;
}

.checkout-page .order-detail-status-green {
    color: var(--green2);
}

.checkout-page .order-detail .price {
    align-items: baseline;
    display: inline-flex;
    gap: 6px;
    justify-content: flex-start;
}

.checkout-page .order-detail .price-prefix {
    font-size: 18px;
    line-height: 26px;
}

.checkout-page .order-detail .price-old {
    color: var(--grey);
    font-size: 14px;
    line-height: 22px;
    text-decoration: line-through;
}

.checkout-page .order-detail .price-current {
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
}

.checkout-page .order-detail__total {
    margin: 0;
    padding: 22px 0 0;
}

.checkout-page .order-detail__total .row-info {
    align-items: baseline;
    display: flex;
    font-size: 18px;
    justify-content: space-between;
    line-height: 26px;
    margin: 0 0 12px;
}

.checkout-page .order-detail__total .row-info:last-child {
    margin-bottom: 0;
}

.checkout-page .order-detail__total .val {
    font-weight: 400;
    text-align: right;
}

.checkout-page .order-detail__total .row-info-total {
    font-weight: 700;
}

.checkout-page .order-detail__total .row-info-total .val {
    font-weight: 700;
}

.checkout-page .checkout-order {
    background: var(--white-color);
    border-left: 1px solid var(--grey-border);
}

.checkout-page .checkout-cart-actions {
    border-top: 0;
    padding: 18px 15px 24px;
}

.checkout-page .checkout-cart-actions .checkbox-row {
    margin: 0 0 8px;
}

.checkout-page .checkout-cart-actions .checkbox-label {
    display: flex;
    gap: 0;
    min-height: 36px;
    position: relative;
}

.checkout-page .checkout-cart-actions .checkbox-input {
    height: 1px;
    left: 0;
    margin: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 1px;
}

.checkout-page .checkout-cart-actions .checkbox-text {
    font-size: 18px;
    line-height: 26px;
    min-height: 36px;
    padding-left: 50px;
    position: relative;
}

.checkout-page .checkout-cart-actions .checkbox-text:before,
.checkout-page .checkout-cart-actions .checkbox-text:after {
    content: '';
    position: absolute;
}

.checkout-page .checkout-cart-actions .checkbox-text:before {
    background: var(--white-color);
    border: 1px solid var(--grey-border);
    height: 36px;
    left: 0;
    top: 0;
    width: 36px;
}

.checkout-page .checkout-cart-actions .checkbox-text:after {
    border: solid var(--white-color);
    border-width: 0 3px 3px 0;
    display: none;
    height: 15px;
    left: 13px;
    top: 7px;
    transform: rotate(45deg);
    width: 8px;
}

.checkout-page .checkout-cart-actions .checkbox-input:checked + .checkbox-text:before {
    background: var(--link-color);
    border-color: var(--link-color);
}

.checkout-page .checkout-cart-actions .checkbox-input:checked + .checkbox-text:after {
    display: block;
}

.checkout-page .checkout-cart-actions .checkout-btn-holder {
    margin-top: 18px;
}

@media (min-width: 768px) {
    .checkout-page .checkout-holder {
        padding: 0 0 20px;
    }

    .checkout-page .radio-controls.tab-controls {
        overflow-x: hidden;
    }

    .checkout-page .pharmacy-select__panel {
        align-items: center;
        column-gap: 25px;
        display: flex;
        justify-content: space-between;
    }

    .checkout-page .pharmacy-row {
        width: 100%;
    }

    .checkout-page .pharmacy-row .form-group {
        margin: 0;
    }

    .checkout-page .pharmacy-select__panel .checkbox-row {
        margin-top: 0;
        white-space: nowrap;
    }

    .checkout-page .pharmacy-list {
        max-height: 644px;
        overflow-y: auto;
    }

    .checkout-page .pharmacy-list__item {
        align-items: flex-start;
        flex-direction: row;
    }

    .checkout-page .pharmacy-list .block {
        flex-direction: row;
    }

    .checkout-page .checkout-address-grid {
        grid-template-columns: minmax(0, 2fr) minmax(120px, 1fr) minmax(120px, 1fr);
    }
}

@media (min-width: 992px) {
    .checkout-page .checkout-holder {
        display: flex;
    }

    .checkout-page .checkout-content {
        margin: 0;
        padding: 0 60px 0 0;
        width: calc(100% - 380px);
    }

    .checkout-page .checkout-order {
        align-self: flex-start;
        flex: 0 0 380px;
        position: sticky;
        top: 15px;
        width: 380px;
    }

    .checkout-page .order-detail-holder {
        padding: 20px;
    }
}

@media (min-width: 1280px) {
    .checkout-page .checkout-content {
        padding-right: 95px;
        width: calc(100% - 512px);
    }

    .checkout-page .checkout-order {
        flex-basis: 512px;
        width: 512px;
    }

    .checkout-page .order-detail-holder {
        padding: 30px;
    }

    .checkout-page .checkout-cart-actions {
        padding: 0 30px 30px;
    }
}

@media (min-width: 1440px) {
    .checkout-page .pharmacy-select #map-block {
        height: 350px;
    }
}

@media (max-width: 767px) {
    .checkout-header__inner {
        grid-template-columns: minmax(120px, 1fr) 32px;
        min-height: 60px;
    }

    .checkout-header__logo img {
        max-height: 36px;
        max-width: 120px;
    }

    .checkout-header__title {
        display: none;
    }

    .checkout-header__contact .phone-header {
        display: none;
    }

    .checkout-page .delivery-type__body.tab-holder {
        margin-left: 0;
        margin-right: 0;
        overflow: visible;
        width: 100%;
    }

    .checkout-page .radio-controls.tab-controls {
        flex-direction: column;
        overflow: visible;
        padding: 0;
    }

    .checkout-page .tab-controls .radio-title {
        flex-basis: auto;
        min-width: 0;
        width: 100%;
    }

    .checkout-page .tab-controls .radio-title + .radio-title .radio-label {
        margin-left: 0;
        margin-top: -1px;
    }

    .checkout-page .checkout-cart-actions {
        padding: 16px 15px 20px;
    }

    .checkout-page .checkout-order {
        border-left: 0;
        border-top: 1px solid var(--grey-border);
    }

    .checkout-page .order-title {
        font-size: 26px;
        line-height: 34px;
    }

    .checkout-page .order-edit {
        font-size: 16px;
        line-height: 24px;
        margin-top: 5px;
    }

    .checkout-page .order-detail__item {
        gap: 14px;
    }

    .checkout-page .order-detail__img {
        flex-basis: 72px;
        width: 72px;
    }

    .checkout-page .order-detail-linkname,
    .checkout-page .order-detail__code-row,
    .checkout-page .order-detail .price-prefix,
    .checkout-page .order-detail .price-current,
    .checkout-page .order-detail__total .row-info,
    .checkout-page .checkout-cart-actions .checkbox-text {
        font-size: 16px;
        line-height: 24px;
    }
}

.auth-page #content,
.personal-page #content {
    float: none;
}

.auth-container-section {
    display: flex;
    justify-content: center;
    padding: 32px 0 56px;
}

.auth-container {
    width: 100%;
    max-width: 430px;
    background: var(--white-color);
    border: 1px solid var(--grey-border);
    border-radius: 8px;
    padding: 32px;
}

.auth-container h1,
.personal-content h1 {
    margin: 0 0 24px;
    color: var(--font-color);
    font-size: 28px;
    line-height: 36px;
    font-weight: 700;
}

.auth-form {
    display: grid;
    gap: 16px;
}

.auth-submit,
.google-auth-btn,
.personal-save-btn,
.personal-order-view {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border: 0;
    border-radius: 4px;
    font-size: 14px;
    line-height: 20px;
    font-weight: 700;
    text-align: center;
    text-shadow: none;
    text-decoration: none;
    transition: all .3s;
}

.auth-submit,
.google-auth-btn {
    width: 100%;
}

.auth-submit,
.personal-save-btn,
.personal-order-view {
    color: var(--white-color);
    background: var(--link-color);
    background-image: none;
    box-shadow: none;
}

.auth-submit:hover,
.auth-submit:focus,
.personal-save-btn:hover,
.personal-save-btn:focus,
.personal-order-view:hover,
.personal-order-view:focus {
    color: var(--white-color);
    background: var(--btn-hover);
    text-decoration: none;
}

.auth-submit:active,
.personal-save-btn:active,
.personal-order-view:active {
    color: var(--white-color);
    background: var(--btn-pressed);
}

.auth-recaptcha {
    min-height: 78px;
}

.auth-message {
    padding: 12px 14px;
    border-radius: 4px;
    font-size: 13px;
    line-height: 20px;
}

.auth-message-error {
    color: var(--red2);
    background: #fff3f3;
}

.auth-message-success {
    color: var(--green);
    background: #eff8ec;
}

.auth-info {
    color: var(--font-color-light);
    font-size: 13px;
    line-height: 20px;
}

.auth-info a,
.auth-repeat {
    color: var(--link-color);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.auth-repeat {
    display: inline-flex;
    justify-self: center;
    margin-top: 4px;
    font-size: 13px;
    line-height: 20px;
}

.socials-auth {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--grey-border);
}

.socials-auth-title {
    margin-bottom: 12px;
    color: var(--font-color-light);
    font-size: 13px;
    line-height: 20px;
    text-align: center;
}

.google-auth-btn {
    gap: 10px;
    color: var(--font-color);
    background: var(--white-color);
    border: 1px solid var(--grey-border);
}

.google-auth-btn:hover,
.google-auth-btn:focus {
    color: var(--font-color);
    border-color: var(--link-color);
    text-decoration: none;
}

.google-auth-icon {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
}

.spm-wrapper,
.simple-phone-mask-wrapper {
    width: 100%;
}

.spm-wrapper .input,
.simple-phone-mask-wrapper .input {
    width: 100%;
}

.input-holder .spm-wrapper ~ .input-label {
    left: 58px;
}

.input-holder.has-value .input-label,
.input-holder.is-focused .input-label {
    font-size: 12px;
    line-height: 16px;
    top: 7px;
}

.personal-container {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 32px;
    padding: 24px 0 56px;
}

.personal-sidebar {
    align-self: start;
    border: 1px solid var(--grey-border);
    border-radius: 8px;
    overflow: hidden;
    background: var(--white-color);
}

.personal-sidebar-title {
    padding: 18px 20px;
    color: var(--font-color);
    font-size: 18px;
    line-height: 24px;
    font-weight: 700;
    border-bottom: 1px solid var(--grey-border);
}

.personal-menu {
    display: grid;
}

.personal-menu-link {
    padding: 14px 20px;
    color: var(--font-color);
    font-size: 14px;
    line-height: 20px;
    border-bottom: 1px solid var(--grey-border);
}

.personal-menu-link:last-child {
    border-bottom: 0;
}

.personal-menu-link:hover,
.personal-menu-link:focus,
.personal-menu-link.is-active {
    color: var(--link-color);
    background: var(--lighter-blue);
    text-decoration: none;
}

.personal-content {
    min-width: 0;
}

.personal-content-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.personal-edit-btn {
    min-height: 40px;
    padding: 0 18px;
    color: var(--link-color);
    background: var(--white-color);
    border: 1px solid var(--filter-bd);
    border-radius: 4px;
    font-size: 13px;
    line-height: 20px;
    font-weight: 700;
}

.personal-profile-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}

.personal-profile-summary > div,
.personal-order-item {
    background: var(--white-color);
    border: 1px solid var(--grey-border);
    border-radius: 8px;
}

.personal-profile-summary > div {
    display: grid;
    gap: 6px;
    padding: 16px;
}

.personal-profile-summary span,
.personal-order-body dt {
    color: var(--font-color-grey);
    font-size: 12px;
    line-height: 16px;
}

.personal-profile-summary strong,
.personal-order-body dd {
    min-width: 0;
    margin: 0;
    color: var(--font-color);
    font-size: 14px;
    line-height: 20px;
    overflow-wrap: anywhere;
}

.personal-profile-form {
    padding: 20px;
    border: 1px solid var(--grey-border);
    border-radius: 8px;
    background: var(--white-color);
}

.personal-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.personal-save-btn {
    min-width: 180px;
    margin-top: 18px;
}

.personal-order-list {
    display: grid;
    gap: 12px;
}

.personal-order-head {
    display: grid;
    grid-template-columns: 110px 1fr 1fr auto;
    gap: 16px;
    align-items: center;
    width: 100%;
    min-height: 64px;
    padding: 16px 20px;
    color: var(--font-color);
    background: var(--white-color);
    border: 0;
    border-radius: 8px;
    font-size: 14px;
    line-height: 20px;
    text-align: left;
}

.personal-order-head strong {
    text-align: right;
}

.personal-order-body {
    display: none;
    padding: 0 20px 20px;
}

.personal-order-item.is-open .personal-order-body {
    display: grid;
    gap: 16px;
}

.personal-order-body dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}

.personal-order-body dl > div {
    display: grid;
    gap: 4px;
}

.personal-order-view {
    width: max-content;
    min-width: 150px;
    padding: 0 18px;
}

.personal-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 20px;
}

.personal-empty {
    padding: 24px;
    color: var(--font-color-light);
    background: var(--white-color);
    border: 1px solid var(--grey-border);
    border-radius: 8px;
}

@media (max-width: 991px) {
    .personal-container {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .personal-menu {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .personal-menu-link {
        border-bottom: 0;
        border-right: 1px solid var(--grey-border);
        text-align: center;
    }
}

@media (max-width: 767px) {
    .auth-container-section {
        padding: 16px 0 40px;
    }

    .auth-container {
        padding: 22px 16px;
    }

    .auth-container h1,
    .personal-content h1 {
        font-size: 24px;
        line-height: 30px;
    }

    .personal-content-head,
    .personal-pagination {
        display: grid;
        justify-items: start;
    }

    .personal-pagination {
        justify-items: center;
    }

    .personal-menu,
    .personal-profile-summary,
    .personal-form-grid,
    .personal-order-body dl {
        grid-template-columns: 1fr;
    }

    .personal-menu-link {
        border-right: 0;
        border-bottom: 1px solid var(--grey-border);
        text-align: left;
    }

    .personal-order-head {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .personal-order-head strong {
        text-align: left;
    }

    .personal-save-btn,
    .personal-order-view {
        width: 100%;
    }
}

/* Product comparison */
.product-compare-table-wrapper {
    width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.product-compare-table {
    width: 100%;
    margin-bottom: 0;
    table-layout: fixed;
}

.product-compare-table__label-column {
    width: 220px;
}

.product-compare-table > thead > tr > td {
    background: var(--lighter-blue);
}

.product-compare-table > thead > tr > td > strong {
    position: sticky;
    left: 12px;
}

.product-compare-table > tbody > tr > td {
    padding: 12px;
    vertical-align: middle;
    overflow-wrap: anywhere;
}

.product-compare-table > tbody > tr > td:first-child {
    color: var(--font-color-grey);
    font-weight: 600;
}

.product-compare-table .img-thumbnail {
    max-width: 100%;
    height: auto;
}

@media (max-width: 767px) {
    .product-compare-table--1 {
        min-width: 364px;
    }

    .product-compare-table--2 {
        min-width: 584px;
    }

    .product-compare-table--3 {
        min-width: 804px;
    }

    .product-compare-table--4 {
        min-width: 1024px;
    }

    .product-compare-table__label-column {
        width: 144px;
    }

    .product-compare-table > tbody > tr > td:first-child:not([colspan]) {
        position: sticky;
        left: 0;
        z-index: 3;
        background: var(--white-color);
        box-shadow: 1px 0 0 var(--grey-border);
    }
}

/* Checkout success */
.checkout-success-page {
    padding-bottom: 52px;
}

.checkout-success-page #content {
    min-width: 0;
}

.checkout-success-hero {
    align-items: center;
    display: flex;
    gap: 24px;
    justify-content: center;
    margin: 34px auto 44px;
    max-width: 880px;
    text-align: left;
}

.checkout-success-hero h1 {
    font-size: 24px;
    line-height: 32px;
    margin: 0 0 8px;
}

.checkout-success-hero p {
    color: var(--font-color-light);
    font-size: 16px;
    line-height: 25px;
    margin: 0;
}

.checkout-success-icon {
    align-items: center;
    background: var(--green2);
    border: 8px solid rgba(50, 153, 67, .14);
    border-radius: 50%;
    box-sizing: content-box;
    color: var(--white-color);
    display: flex;
    flex: 0 0 60px;
    height: 60px;
    justify-content: center;
    width: 60px;
}

.checkout-success-icon .fa {
    font-size: 30px;
}

.checkout-success-order + .checkout-success-order {
    border-top: 1px solid var(--grey-border);
    margin-top: 46px;
    padding-top: 38px;
}

.checkout-success-order-title {
    font-size: 22px;
    line-height: 30px;
    margin: 0 0 20px;
}

.checkout-success-grid {
    align-items: start;
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.35fr);
}

.checkout-success-card {
    background: var(--white-color);
    border: 1px solid rgba(0, 116, 127, .08);
    border-radius: 14px;
    box-shadow: 0 12px 34px rgba(2, 34, 38, .10);
    min-width: 0;
    padding: 26px 28px;
}

.checkout-success-card h3 {
    font-size: 18px;
    font-weight: 600;
    line-height: 26px;
    margin: 0 0 18px;
}

.checkout-success-product {
    align-items: center;
    display: grid;
    gap: 16px;
    grid-template-columns: 86px minmax(0, 1fr) auto;
    padding: 17px 0;
}

.checkout-success-product + .checkout-success-product {
    border-top: 1px solid var(--grey-border);
}

.checkout-success-product-image {
    align-items: center;
    display: flex;
    height: 86px;
    justify-content: center;
    width: 86px;
}

.checkout-success-product-image img {
    height: auto;
    max-height: 86px;
    max-width: 86px;
    width: auto;
}

.checkout-success-product-main {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.checkout-success-product-name {
    color: var(--font-color);
    font-size: 15px;
    font-weight: 600;
    line-height: 21px;
    overflow-wrap: anywhere;
}

a.checkout-success-product-name:hover {
    color: var(--link-color);
}

.checkout-success-product-manufacturer,
.checkout-success-product-unit {
    color: var(--font-color-grey);
    font-size: 13px;
    line-height: 20px;
    margin-top: 4px;
}

.checkout-success-product-total {
    font-size: 15px;
    white-space: nowrap;
}

.checkout-success-totals {
    border-top: 1px solid var(--grey-border);
    margin: 12px 0 0;
    padding-top: 14px;
}

.checkout-success-totals > div {
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 5px 0;
}

.checkout-success-totals dt,
.checkout-success-totals dd {
    margin: 0;
}

.checkout-success-grand-total {
    font-size: 18px;
    font-weight: 700;
}

.checkout-success-details {
    margin: 0;
}

.checkout-success-details > div {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(160px, .85fr) minmax(0, 1.15fr);
    padding: 8px 0;
}

.checkout-success-details > div + div {
    border-top: 1px solid var(--grey-border);
}

.checkout-success-details dt {
    color: var(--font-color-grey);
    font-weight: 400;
}

.checkout-success-details dd {
    font-weight: 600;
    margin: 0;
    overflow-wrap: anywhere;
}

.checkout-success-multiline {
    white-space: pre-line;
}

.checkout-success-empty {
    background: var(--white-color);
    border-radius: 14px;
    box-shadow: 0 12px 34px rgba(2, 34, 38, .10);
    margin: 36px 0;
    padding: 30px;
}

.checkout-success-empty .btn {
    margin-top: 12px;
}

@media (max-width: 1199px) {
    .checkout-success-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 767px) {
    .checkout-success-page {
        padding-bottom: 32px;
    }

    .checkout-success-hero {
        align-items: center;
        flex-direction: column;
        gap: 16px;
        margin: 24px auto 32px;
        text-align: center;
    }

    .checkout-success-hero h1 {
        font-size: 21px;
        line-height: 29px;
    }

    .checkout-success-hero p {
        font-size: 14px;
        line-height: 22px;
    }

    .checkout-success-icon {
        border-width: 6px;
        flex-basis: 48px;
        height: 48px;
        width: 48px;
    }

    .checkout-success-icon .fa {
        font-size: 24px;
    }

    .checkout-success-card {
        border-radius: 10px;
        padding: 20px 16px;
    }

    .checkout-success-product {
        align-items: start;
        gap: 12px;
        grid-template-columns: 68px minmax(0, 1fr);
    }

    .checkout-success-product-image {
        height: 68px;
        width: 68px;
    }

    .checkout-success-product-image img {
        max-height: 68px;
        max-width: 68px;
    }

    .checkout-success-product-total {
        grid-column: 2;
        white-space: normal;
    }

    .checkout-success-details > div {
        gap: 3px;
        grid-template-columns: minmax(0, 1fr);
        padding: 10px 0;
    }
}

/* ===== Unified merchandising product cards ===== */
html {
    overflow-x: hidden;
}

.product-card-grid {
    display: grid !important;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 0 24px !important;
    max-width: 1280px;
    padding: 0;
    width: 100%;
}

.product-card-slot {
    display: flex;
    min-width: 0;
    position: relative;
}

.product-card {
    background: var(--white-color);
    border: 1px solid var(--grey-border);
    border-radius: 8px;
    color: var(--font-color);
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 342px;
    padding: 12px;
    position: relative;
    transition: box-shadow .2s ease, transform .2s ease;
    width: 100%;
}

.product-card__wishlist {
    align-items: center;
    background: rgba(255, 255, 255, .96);
    border: 1px solid var(--grey-border);
    border-radius: 50%;
    box-shadow: 0 3px 12px rgba(2, 34, 38, .08);
    color: var(--link-color);
    cursor: pointer;
    display: flex;
    height: 40px;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: 12px;
    top: 12px;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
    width: 40px;
    z-index: 2;
}

.product-card__wishlist .fa {
    font-size: 18px;
}

.product-card__wishlist:hover,
.product-card__wishlist:focus-visible {
    background: var(--lighter-blue);
    border-color: var(--link-color);
    color: var(--btn-pressed);
}

.product-card__image {
    align-items: center;
    display: flex;
    height: 150px;
    justify-content: center;
    margin-bottom: 12px;
    overflow: hidden;
    width: 100%;
}

.product-card__image img {
    display: block;
    height: 100%;
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    width: 100%;
}

.product-card__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
}

.product-card__meta {
    align-items: center;
    display: flex;
    gap: 6px;
    justify-content: space-between;
    min-height: 38px;
}

.product-card__price {
    align-items: baseline;
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    font-size: 15px;
    font-weight: 700;
    gap: 2px 5px;
    line-height: 19px;
    min-width: 0;
}

.product-card__price .price-prefix {
    color: var(--font-color-grey);
    font-size: 11px;
    font-weight: 400;
}

.product-card__price .price-new {
    color: var(--font-color);
    white-space: nowrap;
}

.product-card__price .price-old {
    color: var(--font-color-grey);
    font-size: 12px;
    font-weight: 400;
    text-decoration: line-through;
    white-space: nowrap;
}

.product-card__price .price-saving {
    color: var(--green2);
    flex-basis: 100%;
    font-size: 10px;
    font-weight: 400;
    line-height: 12px;
}

.product-card__rating {
    display: flex;
    flex: 0 0 68px;
    gap: 2px;
    justify-content: flex-end;
    min-height: 14px;
}

.product-card__rating .review-rating__star {
    background-size: 12px 13px;
    flex-basis: 12px;
    height: 13px;
    width: 12px;
}

.product-card__rating--empty {
    visibility: hidden;
}

.product-card__title {
    display: -webkit-box;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    margin: 8px 0 14px;
    min-height: 40px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.product-card__title a {
    color: var(--font-color);
}

.product-card__title a:hover,
.product-card__title a:focus-visible {
    color: var(--link-color);
}

.article-info .product-card__title {
    font-size: 14px;
    line-height: 20px;
    margin: 8px 0 14px;
}

.product-card__actions {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: auto;
    min-height: 44px;
}

.product-card__stock-label {
    align-self: center;
    color: var(--font-color-grey, #7b8586);
    font-size: 13px;
}

.product-card--unavailable .product-card__image img {
    opacity: .65;
}

.product-card__actions > :only-child {
    grid-column: 1 / -1;
}

.product-card__cart,
.product-card__availability {
    align-items: center;
    border: 1px solid var(--link-color);
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    font-size: 13px;
    font-weight: 600;
    gap: 6px;
    justify-content: center;
    line-height: 17px;
    min-height: 44px;
    min-width: 0;
    padding: 8px;
    text-align: center;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.product-card__cart {
    background: var(--link-color);
    color: var(--white-color);
}

.product-card__cart:hover,
.product-card__cart:focus-visible {
    background: var(--btn-hover);
    border-color: var(--btn-hover);
    color: var(--white-color);
}

.product-card__cart:active {
    background: var(--btn-pressed);
    border-color: var(--btn-pressed);
}

.product-card__availability {
    background: var(--white-color);
    color: var(--link-color);
}

.product-card__availability:hover,
.product-card__availability:focus-visible {
    background: var(--lighter-blue);
    border-color: var(--btn-hover);
    color: var(--btn-pressed);
}

.product-card__availability .icon-pin-24 {
    flex: 0 0 20px;
    height: 20px;
    width: 20px;
}

.product-card :focus-visible {
    outline: 2px solid var(--breadcrumbs);
    outline-offset: 2px;
}

.product-slider {
    --product-slider-gutter-x: 12px;
    --product-slider-gutter-y: 12px;
    margin: 0 auto 40px;
    max-width: 1280px;
    width: 100%;
}

#common-home .product-slider {
    margin-left: 0;
    margin-right: 0;
}

.article-info .product-slider {
    margin-bottom: 20px;
}

.product-slider__head {
    align-items: center;
    display: flex;
    gap: 24px;
    margin-bottom: 18px;
    min-height: 36px;
}

.product-slider__title h2 {
    color: var(--font-color);
    font-size: 24px;
    font-weight: 700;
    line-height: 31px;
    margin: 0;
}

.product-slider__head .section-head-link {
    margin: 0;
}

.product-slider__navigation {
    align-items: center;
    display: flex;
    gap: 28px;
    justify-content: center;
    margin-left: auto;
}

.product-slider__viewport {
    margin: calc(var(--product-slider-gutter-y) * -1) calc(var(--product-slider-gutter-x) * -1);
    overflow-x: clip;
    overflow-y: visible;
    padding: var(--product-slider-gutter-y) var(--product-slider-gutter-x);
    position: relative;
    z-index: 2;
}

.product-slider .swiper-container {
    margin: calc(var(--product-slider-gutter-y) * -1) calc(var(--product-slider-gutter-x) * -1);
    overflow-x: clip;
    overflow-y: visible;
    padding: var(--product-slider-gutter-y) var(--product-slider-gutter-x);
}

.product-slider .swiper-wrapper {
    align-items: stretch;
    padding-bottom: 0;
}

.product-slider .swiper-slide {
    box-sizing: border-box;
    display: flex;
    height: auto;
    padding: 0 8px;
}

.product-slider .swiper-slide:first-child {
    padding-left: 0;
}

.product-slider .swiper-slide:last-child {
    padding-right: 0;
}

.product-slider .swiper-pagination {
    bottom: 3px;
}

@media (min-width: 992px) {
    .product-slider__viewport {
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
    }
}

@media (min-width: 768px) {
    .product-card {
        min-height: 374px;
        padding: 16px;
    }

    .product-card__image {
        height: 178px;
        margin-bottom: 14px;
    }

    .product-card__wishlist {
        right: 14px;
        top: 14px;
    }
}

@media (min-width: 992px) {
    .product-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .product-card {
        min-height: 388px;
        padding: 18px;
    }

    .product-card__image {
        height: 190px;
    }
}

@media (max-width: 991px) {
    .product-slider .swiper-container {
        padding-bottom: 34px;
    }

    .product-slider .swiper-pagination {
        bottom: 6px;
    }
}

@media (min-width: 1280px) {
    .product-card-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .product-card__image {
        height: 200px;
    }
}

@media (min-width: 1440px) {
    .product-slider {
        --product-slider-gutter-x: 30px;
    }
}

@media (min-width: 992px) and (hover: hover) and (pointer: fine) {
    .product-card-grid {
        position: relative;
    }

    .sort-wrap + .product-card-grid {
        margin-top: 20px !important;
    }

    .product-card-slot:hover,
    .product-card-slot:focus-within {
        z-index: 12;
    }

    .product-card-slot:hover .product-card,
    .product-card-slot:focus-within .product-card {
        border-color: transparent;
        box-shadow: 0 0 30px rgba(122, 122, 122, .5);
        transform: translateY(-3px);
    }
}

@media (max-width: 767px) {
    .product-card-grid {
        gap: 8px;
    }

    .product-card__wishlist {
        height: 40px;
        right: 8px;
        top: 8px;
        width: 40px;
    }

    .product-card__price {
        font-size: 14px;
    }

    .product-card__title {
        font-size: 13px;
        line-height: 18px;
        min-height: 36px;
    }

    .article-info .product-card__title {
        font-size: 13px;
        line-height: 18px;
        margin: 8px 0 14px;
    }

    .product-card__actions {
        gap: 6px;
        grid-template-columns: 44px minmax(0, 1fr);
    }

    .product-card__cart,
    .product-card__availability {
        font-size: 12px;
        padding: 7px 5px;
    }

    .product-card__cart-label {
        display: none;
    }

    .product-slider__head {
        align-items: flex-start;
        flex-direction: row;
        gap: 12px;
    }

    .product-slider__title h2 {
        font-size: 20px;
        line-height: 27px;
    }

    .product-slider__navigation {
        gap: 18px;
    }

    .product-slider .swiper-slide {
        padding: 0 4px;
    }
}

@media (max-width: 359px) {
    .product-card {
        min-height: 328px;
        padding: 9px;
    }

    .product-card__image {
        height: 138px;
    }

    .product-card__rating {
        flex-basis: 58px;
        gap: 1px;
    }

    .product-card__rating .review-rating__star {
        background-size: 11px 12px;
        flex-basis: 11px;
        height: 12px;
        width: 11px;
    }

    .product-card__availability .icon-pin-24 {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .product-card,
    .product-card__actions,
    .product-card__wishlist,
    .product-card__cart,
    .product-card__availability {
        transition: none;
    }
}

/* Temporary closures remain identifiable without suggesting a visit. */
.location-closure-notice {
    color: #8a4b00;
    background: #fff3d6;
    border-radius: 4px;
    padding: 6px 10px;
    font-weight: 600;
    margin-top: 8px;
}
.location-item--closed {
    border-left: 3px solid #d58a20;
}

@media (max-width: 767px) {
    .locations-page .locations-wrap {
        flex-direction: column;
    }

    .locations-page .stores-list,
    .locations-page .map-block {
        width: 100%;
        min-width: 0;
    }

    .locations-page #locations-map {
        height: 400px !important;
    }

    .locations-page .location-map-popup-shell .leaflet-popup-content {
        max-width: calc(100vw - 112px);
    }
}


/* Shared information pages and navigation. */
.header-information-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    list-style: none;
    margin: 0 24px;
    padding: 8px 0;
}

.header-information-menu a {
    color: var(--font-color);
    font: var(--font-size) / 23px var(--font-family);
}

.header-information-menu a:hover {
    color: var(--link-color);
}

.footer-menu li {
    break-inside: avoid;
}

.footer-legal-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.information-page {
    padding-bottom: 48px;
}

.information-content {
    background: var(--white-color, #fff);
    border: 1px solid var(--grey-border, #e6ecec);
    border-radius: 12px;
    color: var(--font-color);
    font: 16px / 1.7 var(--font-family);
    min-width: 0;
    overflow-wrap: anywhere;
    padding: 32px;
}

.information-content h2,
.information-content h3,
.information-content h4 {
    color: var(--font-color);
    font-weight: 600;
    line-height: 1.4;
    margin: 28px 0 14px;
}

.information-content h2 { font-size: 24px; }
.information-content h3 { font-size: 22px; }
.information-content h4 { font-size: 20px; }
.information-content h5 { font-size: 19px; }
.information-content h6 { font-size: 18px; }
.information-content p { margin: 0 0 18px; }
.information-content > :first-child { margin-top: 0; }
.information-content > :last-child { margin-bottom: 0; }
.information-content ul,
.information-content ol { padding-left: 24px; }
.information-content li { margin-bottom: 8px; }
.information-content a { color: var(--link-color); text-decoration: underline; }
.information-content img { height: auto; max-width: 100%; }

.information-content picture > img { width: 100%; }

.information-table-scroll {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.information-content .information-table-scroll table {
    min-width: 640px;
}

.information-content .information-gallery {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
    margin: 0;
}

.information-gallery a {
    align-items: center;
    background: #f5f9f9;
    border: 1px solid var(--grey-border);
    border-radius: 8px;
    display: flex;
    padding: 12px;
}

.information-content .information-gallery img {
    max-height: 380px;
    object-fit: contain;
}

.information-faq {
    border: 1px solid var(--grey-border);
    border-radius: 8px;
    margin: 0 0 14px;
    padding: 0 20px;
}

.information-faq summary {
    color: var(--link-color);
    cursor: pointer;
    font-weight: 600;
    padding: 18px 0;
}

.information-faq[open] summary {
    border-bottom: 1px solid var(--grey-border);
    margin-bottom: 18px;
}

@media (max-width: 767px) {
    .information-content { padding: 20px 16px; }
    .information-content h2 { font-size: 22px; }
    .information-content h3 { font-size: 21px; }
    .information-faq { padding: 0 14px; }
    .blog-team-detail { display: grid; grid-template-columns: minmax(0, 1fr); }
    .blog-team-detail__side { min-width: 0; width: 100%; }
}

/* Common pharmacy controls: directory, availability, reservation and checkout. */
.pharmacy-actions,
.pharmacy-nearest-tools,
.pharmacy-picker-toolbar,
.locations-toolbar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.pharmacy-actions {
    margin-top: 6px;
}
.pharmacy-actions .pharmacy-action-btn,
.location-map-popup .pharmacy-action-btn,
.pharmacy-nearest-tools .pharmacy-action-btn {
    align-items: center;
    background: var(--white-color);
    border: 1px solid var(--link-color);
    border-radius: 20px;
    color: var(--link-color);
    cursor: pointer;
    display: inline-flex;
    font-family: inherit;
    font-size: 12px;
    font-weight: 500;
    gap: 6px;
    line-height: 1.4;
    margin: 0;
    min-height: 34px;
    padding: 6px 10px;
    text-decoration: none;
    transition: background .15s, color .15s;
}
.pharmacy-action-btn svg {
    flex-shrink: 0;
}
.pharmacy-actions .pharmacy-action-btn:hover,
.location-map-popup .pharmacy-action-btn:hover,
.pharmacy-nearest-tools .pharmacy-action-btn:hover,
.pharmacy-action-btn:focus-visible {
    background: var(--link-color);
    color: var(--white-color);
}
.pharmacy-action-btn:focus-visible {
    outline: 2px solid var(--link-color);
    outline-offset: 3px;
}
.pharmacy-nearest-button:disabled {
    cursor: wait;
    opacity: .65;
}
.pharmacy-nearest-status,
.pharmacy-distance {
    color: var(--link-color);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
}
.pharmacy-nearest-status.is-error {
    color: #aa3131;
}
.pharmacy-distance {
    display: block;
    margin-top: 6px;
}
[data-pharmacy-scope] .is-nearest {
    background: var(--lighter-blue);
    box-shadow: inset 0 0 0 1px var(--link-color);
}
.pharmacy-modal-heading {
    min-width: 0;
}
.pharmacy-modal-heading .pharmacy-nearest-tools {
    margin-top: 8px;
}
.pharmacy-picker-toolbar {
    justify-content: space-between;
    margin-bottom: 12px;
}
.pharmacy-picker-toolbar .oneclick-section-title {
    margin: 0;
}
.pharmacy-select__panel > .pharmacy-nearest-tools {
    margin-bottom: 12px;
}
.location-map-popup__hours {
    color: var(--font-color-grey);
    font-size: 13px;
}
.location-map-popup .pharmacy-route-link {
    margin-top: 6px;
}
@media (min-width: 768px) {
    .modal-map .availability-reserve {
        grid-column: 4;
    }
    .modal-map .pharmacy-list-without-hours .availability-header,
    .modal-map .pharmacy-list-without-hours .availability-row {
        grid-template-columns: minmax(0, 1fr) 100px 90px;
    }
    .modal-map .pharmacy-list-without-hours .availability-reserve {
        grid-column: 3;
    }
}
@media (max-width: 767px) {
    .pharmacy-actions .pharmacy-action-btn,
    .pharmacy-nearest-tools .pharmacy-action-btn {
        min-height: 40px;
    }
    .locations-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }
    .pharmacy-modal-heading .modal-title {
        font-size: 16px;
    }
    .pharmacy-nearest-status {
        flex-basis: 100%;
    }
}
