/* Основа */

:root {
    --shell-orange: #ff5607;
    --shell-blue: #1193f5;
    --shell-text: #3a3a45;
    --shell-muted: #6d6a7e;
    --shell-border: #cfd6de;
    --shell-bg: #f5f7fa;
    --shell-radius-sm: 8px;
    --shell-radius-md: 10px;
    --shell-radius-lg: 12px;
}

html {
    height: 100%;
    padding: 0px;
}

html, textarea {
    font-family: 'Roboto', Arial, Helvetica, sans-serif;
}

button {
    cursor: pointer;
}

button.primary {
    padding: 0 18px;
    border: none;
    border-radius: var(--shell-radius-sm);
    color: #fff;
    background-color: var(--shell-orange);
    font-size: 15px;
    font-weight: 700;
    line-height: 44px;
    text-transform: none;
    white-space: nowrap;
    box-shadow: 0 4px 14px rgba(255, 86, 7, 0.28);
}

button.primary:hover {
    background-color: #e64c00;
    box-shadow: 0 6px 18px rgba(255, 86, 7, 0.35);
}

button.secondary {
    padding: 0px 10px;
    border: 1px solid lightgray;
    color: gray;
    background-color: inherit;
    font-size: 17px;
    line-height: 44px;
    text-transform: uppercase;
    white-space: nowrap;
}

button.secondary:hover {
    color: dimgray;
    background-color: #eeecec;
}

button, a, li {
    transition: all 250ms ease;
}

button:focus {
    outline: none;
}

.no-pointer {
    cursor: auto;
}

hr {
    color: #1193f5;
    border: 1px solid;
}

ul, ol {
    padding: 0;
    margin: 0;
}

ul.text-list, ol.text-list {
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 40px;
}

usk-tooltip, usk-modal {
    display: none !important;
}

.warning-color {
    color: red;
}

.warning-panel {
    color: red;
    font-size: 14px;
}

body {
    height: 100%;
    padding: 0;
    margin: 0;
}

h1, h2, h3 {
    margin: 0;
    font-weight: normal;
}

h1 {
    font-size: 1.5rem;
}

h2 {
    font-size: 1.2rem;
}

h3 {
    font-size: 1.1rem;
}

p {
    margin: 0;
}

a {
    text-decoration: underline;
    cursor: pointer;
}

input::placeholder {
    opacity: 0.3;
}

select {
    cursor: pointer;
}

/* иконка "ссылка переходит на другую страницу" */

a.blank:after {
    content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAQElEQVR42qXKwQkAIAxDUUdxtO6/RBQkQZvSi8I/pL4BoGw/XPkh4XigPmsUgh0626AjRsgxHTkUThsG2T/sIlzdTsp52kSS1wAAAABJRU5ErkJggg==);
    margin: 0 3px 0 5px;
}

@media screen and (min-width: 1150px) {
    .products-list .list {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        max-width: 1100px;
    }
}

@media screen and (min-width: 860px) and (max-width: 1149px) {
    .products-list .list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        max-width: 860px;
    }
}

@media screen and (min-width: 590px) and (max-width: 859px) {
    .products-list .list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 560px;
    }
}

@media screen and (max-width: 589px) {
    .products-list .list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: none;
        gap: 8px;
    }
}

#content-container {
    display: flex;
    flex-direction: column;
    margin: auto;
    max-width: 1200px;
    min-height: 100%;
    box-sizing: border-box;
    padding: 0 34px 20px 34px;
    background-color: white;
    box-shadow: 0 0 10px 5px #dddddd;
}

#main {
    margin-top: 30px;
    flex-grow: 1;
}

#main>*:not(:last-child) {
    margin-bottom: 20px;
}

/* header */

header {
    --hdr-orange: #ff5607;
    --hdr-blue: #1193f5;
    --hdr-text: #3a3a45;
    --hdr-muted: #6d6a7e;
    --hdr-border: #cfd6de;
    --hdr-bg: #f5f7fa;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 20px;
    margin-top: 8px;
    margin-bottom: 4px;
    padding: 8px 0 14px;
    border-bottom: 1px solid var(--hdr-border);
}

header .logo {
    color: var(--hdr-text);
    width: 300px;
    flex-shrink: 0;
}

header span.logo a {
    color: var(--hdr-text);
    text-decoration: none;
}

header span.logo img {
    display: block;
    max-width: 100%;
    max-height: 100%;
}

header .phone {
    font-size: 30px;
    color: var(--hdr-text);
    white-space: nowrap;
}

header #header-order-searcher {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 16px;
    border-radius: 8px;
    background-color: var(--hdr-blue);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 3px 10px rgba(17, 147, 245, 0.25);
    transition: background-color 0.15s, box-shadow 0.15s;
}

header #header-order-searcher:hover {
    background-color: #0d7fd6;
    box-shadow: 0 4px 14px rgba(17, 147, 245, 0.32);
}

header #cart-popup {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--hdr-border);
    border-radius: 10px;
    background: #fff;
    text-decoration: none;
    transition: border-color 0.15s, background-color 0.15s;
}

header #cart-popup:hover {
    border-color: var(--hdr-orange);
    background: #fff7f2;
}

header #cart-logo {
    display: block;
    width: 30px;
    height: 25px;
    background-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="25" stroke="%23FF5607" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1,1 l5,3 l3,14 l14,0 l4,-8 l-14.5,0" fill="none"/><polyline points="13 14, 24 14"/><g fill="%23FF5607" stroke="none"><circle cx="12" cy="22" r="2"></circle><circle cx="21" cy="22" r="2"></circle></g></svg>');
    background-repeat: no-repeat;
}

header #cart-qty {
    position: absolute;
    top: -4px;
    right: -4px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 999px;
    background-color: var(--hdr-blue);
    box-shadow: 0 2px 6px rgba(17, 147, 245, 0.35);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}

header #cart-qty:empty {
    display: none;
}

header #links-container,
header .header-location {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
}

header #links-container > * {
    display: inline-flex;
    align-items: center;
    gap: 0;
    max-width: 100%;
    min-height: 36px;
    padding: 0 12px 0 34px;
    border: 1px solid var(--hdr-border);
    border-radius: 999px;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: 10px center;
    background-size: 18px 18px;
    line-height: 1.2;
    font-size: 13px;
    font-weight: 600;
    color: var(--hdr-text);
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.15s, background-color 0.15s, color 0.15s;
}

header #links-container > *:hover {
    border-color: #b8c2ce;
    background-color: var(--hdr-bg);
}

header #links-container > *:not(:last-child) {
    margin-right: 0;
}

header #links-container #contacts-link {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236d6a7e' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.9.33 1.78.64 2.62a2 2 0 0 1-.45 2.11L8.03 9.72a16 16 0 0 0 6.25 6.25l1.27-1.27a2 2 0 0 1 2.11-.45c.84.31 1.72.52 2.62.64A2 2 0 0 1 22 16.92Z'/%3E%3C/svg%3E");
}

header #links-container #contacts-link:hover {
    border-color: var(--hdr-orange);
    color: var(--hdr-orange);
    background-color: #fff7f2;
}

header #links-container #current-town {
    position: relative;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236d6a7e' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6-5.33-6-11a6 6 0 1 1 12 0c0 5.67-6 11-6 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}

header #links-container #current-town:hover {
    border-color: var(--hdr-blue);
    color: var(--hdr-blue);
    background-color: #f3f9fe;
}

header #links-container .header-shop-mobile {
    position: relative;
    max-width: 200px;
    overflow: visible;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236d6a7e' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9.5V21h14V9.5'/%3E%3Cpath d='M9.5 21v-6h5v6'/%3E%3C/svg%3E");
}

header #links-container #current-shop-mobile-label {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

header #links-container .header-shop-mobile:hover {
    border-color: var(--hdr-orange);
    color: var(--hdr-orange);
    background-color: #fff7f2;
}

header #links-container #town-selector,
header #links-container #shop-selector {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 180px;
    margin: 0;
    padding: 10px 4px;
    background-color: #fff;
    border: 1px solid var(--hdr-border);
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(58, 58, 69, 0.12);
    font-size: 12px;
    font-weight: 500;
    color: var(--hdr-muted);
    list-style: none;
    white-space: normal;
    z-index: 50;
    max-height: 70vh;
    overflow-y: auto;
}

header #links-container #shop-selector {
    min-width: 240px;
}

header #links-container #town-selector li,
header #links-container #shop-selector li {
    padding: 8px 12px;
    margin: 0 4px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    color: var(--hdr-text);
    white-space: nowrap;
}

header #links-container #town-selector li:hover,
header #links-container #shop-selector li:hover {
    background: var(--hdr-bg);
    font-weight: 600;
    cursor: pointer;
}

header #links-container #town-selector::after,
header #links-container #shop-selector::after {
    content: '';
    position: absolute;
    top: -6px;
    left: 18px;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #fff;
    filter: drop-shadow(0 -1px 0 #cfd6de);
}

/* desktop header (marketplace layout) */

.header-catalog-btn,
.header-search-cluster,
.header-quick-nav,
.header-catalog-panel,
.header-action-tile:not(#cart-popup) {
    display: none;
}

.header-top-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 20px;
    width: 100%;
}

.header-pickup-row {
    display: none;
}

.header-location-wrap {
    display: none;
}

.header-catalog-btn-icon {
    display: inline-block;
    width: 14px;
    height: 12px;
    background-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="12" stroke="%23FFFFFF" stroke-width="2.2" stroke-linecap="round"><line x1="1" y1="1" x2="13" y2="1"/><line x1="1" y1="6" x2="13" y2="6"/><line x1="1" y1="11" x2="13" y2="11"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
}

@media screen and (min-width: 861px) {
    #main-menu-container {
        display: none !important;
    }

    header.site-header {
        display: block;
        margin-top: 8px;
        margin-bottom: 0;
        padding: 0 0 10px;
        border-bottom: 1px solid var(--hdr-border);
    }

    header.site-header .header-top-row {
        display: grid;
        grid-template-columns: auto auto auto minmax(0, 1fr) auto;
        align-items: center;
        gap: 12px 16px;
        padding: 10px 0 8px;
    }

    header.site-header .logo {
        width: 200px;
        margin: 0;
    }

    .header-catalog-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        margin-left: 16px;
        height: 44px;
        padding: 0 18px;
        border: none;
        border-radius: 10px;
        background: var(--hdr-blue);
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        cursor: pointer;
        transition: background-color 0.15s;
    }

    .header-catalog-btn:hover,
    .header-catalog-btn.is-open {
        background: #0d7fd6;
    }

    .header-search-cluster {
        display: flex;
        align-items: stretch;
        gap: 0;
        min-width: 200px;
        justify-self: start;
    }

    .header-search-article {
        flex-shrink: 0;
        width: 200px;
        height: 44px;
        display: flex;
        border: 1px solid var(--hdr-border);
        border-radius: 10px;
        overflow: hidden;
        background: #fff;
    }

    .header-search-input {
        flex: 1;
        min-width: 0;
        border: none;
        padding: 0 12px;
        font-size: 13px;
        color: var(--hdr-text);
    }

    .header-search-ok {
        width: 44px;
        border: none;
        background: var(--hdr-orange);
        color: #fff;
        font-size: 12px;
        font-weight: 700;
        cursor: pointer;
    }

    .header-search-ok:hover {
        background: #e64c00;
    }

    header .header-actions-stack {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 0;
        min-width: 0;
        justify-self: end;
        padding-top: 0;
    }

    header .header-actions {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 14px;
        flex-shrink: 0;
        margin-top: 2px;
    }

    .header-pickup-row {
        display: block;
        position: relative;
        width: auto;
        max-width: 320px;
        margin-top: 0;
    }

    .header-location-wrap {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        min-width: 0;
        width: 100%;
        margin-left: 16px;
        padding: 0;
    }

    .header-pickup-line {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
        width: auto;
        min-height: 22px;
        max-width: 100%;
    }

    .header-pickup-part {
        margin: 0;
        padding: 0;
        border: none;
        background: transparent;
        cursor: pointer;
        font-family: inherit;
        font-size: 13px;
        line-height: 1.35;
        text-align: left;
    }

    .header-pickup-part--town {
        font-weight: 700;
        color: var(--hdr-text);
    }

    .header-pickup-part--town:hover {
        color: var(--hdr-blue);
    }

    .header-pickup-part--shop {
        max-width: 240px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-weight: 600;
        color: var(--hdr-blue);
    }

    .header-pickup-part--shop:hover {
        color: #0d7fd6;
    }

    .header-pickup-sep {
        flex-shrink: 0;
        color: var(--hdr-muted);
        font-weight: 600;
        font-size: 13px;
    }

    .header-pickup-dropdown {
        position: absolute;
        top: calc(100% + 8px);
        z-index: 90;
        min-width: 260px;
        max-width: min(340px, 92vw);
        margin: 0;
        padding: 8px 4px;
        list-style: none;
        border: 1px solid var(--hdr-border);
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 12px 32px rgba(58, 58, 69, 0.14);
    }

    .header-pickup-dropdown--town {
        left: 0;
    }

    .header-pickup-dropdown--shop {
        left: 56px;
        right: auto;
    }

    .header-pickup-dropdown-title {
        padding: 6px 12px 4px;
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: var(--hdr-muted);
        cursor: default;
    }

    .header-pickup-dropdown .town-selector-item,
    .header-pickup-dropdown .shop-selector-item {
        padding: 10px 12px;
        margin: 0 4px;
        border-radius: 8px;
        font-size: 14px;
        font-weight: 500;
        color: var(--hdr-text);
        white-space: normal;
        cursor: pointer;
    }

    .header-pickup-dropdown .town-selector-item:hover,
    .header-pickup-dropdown .shop-selector-item:hover {
        background: var(--hdr-bg);
    }

    header .header-actions .header-action-tile:not(#cart-popup) {
        display: flex;
    }

    .header-action-tile {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        min-width: 38px;
        padding: 0;
        border: none;
        background: transparent;
        text-decoration: none;
        color: var(--hdr-muted);
        cursor: pointer;
    }

    .header-action-tile:hover {
        color: var(--hdr-blue);
    }

    .header-action-label {
        display: block;
        font-size: 10px;
        font-weight: 600;
        line-height: 1.2;
        text-align: center;
    }

    .header-action-icon {
        display: block;
        width: 24px;
        height: 24px;
        border: none;
        border-radius: 0;
        background-color: transparent;
        background-repeat: no-repeat;
        background-position: center;
        background-size: 24px 24px;
    }

    .header-action-icon--contacts {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236d6a7e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6-5.33-6-11a6 6 0 1 1 12 0c0 5.67-6 11-6 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
    }

    .header-action-icon--order {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236d6a7e' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2'/%3E%3Crect x='9' y='3' width='6' height='4' rx='1'/%3E%3C/svg%3E");
    }

    .header-action-icon--user {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236d6a7e' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M5 20c1.5-3.5 4-5 7-5s5.5 1.5 7 5'/%3E%3C/svg%3E");
    }

    .header-action-icon--cart {
        background-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="25" stroke="%23FF5607" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1,1 l5,3 l3,14 l14,0 l4,-8 l-14.5,0" fill="none"/><polyline points="13 14, 24 14"/><g fill="%23FF5607" stroke="none"><circle cx="12" cy="22" r="2"></circle><circle cx="21" cy="22" r="2"></circle></g></svg>');
        background-size: 24px auto;
    }

    header #cart-popup.header-action-tile {
        display: flex;
        position: relative;
        width: auto;
        height: auto;
        margin: 0;
        padding: 0;
        border: none;
        outline: none;
        box-shadow: none;
    }

    header #cart-popup.header-action-tile:hover {
        background: transparent;
    }

    header #header-order-searcher {
        min-height: 0;
        padding: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        font-size: inherit;
        font-weight: inherit;
        color: var(--hdr-muted);
    }

    header #header-order-searcher:hover {
        background: transparent;
        box-shadow: none;
        color: var(--hdr-blue);
    }

    .header-quick-nav {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 4px 20px;
        padding: 0 0 2px;
        margin-left: 0;
        margin-top: 2px;
        width: fit-content;
        max-width: 100%;
    }

    .header-quick-link {
        padding: 6px 0;
        font-size: 13px;
        font-weight: 500;
        color: var(--hdr-muted);
        text-decoration: none;
        border-bottom: 2px solid transparent;
        transition: color 0.12s, border-color 0.12s;
    }

    .header-quick-link:hover {
        color: var(--hdr-blue);
    }

    .header-quick-link.selected {
        color: var(--hdr-blue);
        font-weight: 700;
        border-bottom-color: var(--hdr-orange);
    }

    .header-catalog-panel {
        position: absolute;
        top: calc(100% - 4px);
        left: 200px;
        z-index: 80;
        display: grid;
        grid-template-columns: repeat(3, minmax(160px, 1fr));
        gap: 20px 28px;
        min-width: 520px;
        max-width: min(720px, 92vw);
        padding: 16px 18px;
        border: 1px solid var(--hdr-border);
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 12px 32px rgba(58, 58, 69, 0.12);
    }

    .header-catalog-panel[hidden] {
        display: none !important;
    }

    header.site-header {
        position: relative;
    }

    .header-catalog-heading {
        display: block;
        margin-bottom: 8px;
        font-size: 13px;
        font-weight: 700;
        color: var(--hdr-text);
    }

    .header-catalog-subheading {
        display: block;
        margin-top: 10px;
        margin-bottom: 4px;
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: var(--hdr-muted);
    }

    .header-catalog-col a {
        display: block;
        padding: 4px 0;
        font-size: 13px;
        font-weight: 500;
        color: var(--hdr-muted);
        text-decoration: none;
    }

    .header-catalog-col a:hover {
        color: var(--hdr-blue);
    }
}

/* footer */

footer {
    margin-top: 48px;
    padding: 0;
    background:
        linear-gradient(180deg, var(--shell-bg) 0%, #eef2f7 100%);
    border-top: 1px solid var(--shell-border);
    border-radius: var(--shell-radius-lg);
    overflow: hidden;
}

footer .footer-main {
    display: grid;
    grid-template-columns: 1.2fr repeat(3, minmax(0, 1fr));
    gap: 28px 24px;
    padding: 28px 24px 20px;
}

footer .footer-col {
    min-width: 0;
}

footer .footer-logo {
    display: inline-block;
    margin-bottom: 8px;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--shell-text);
}

footer .footer-logo span {
    color: var(--shell-orange);
}

footer .footer-tagline {
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
    color: var(--shell-muted);
}

footer .footer-heading {
    display: block;
    margin-bottom: 12px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--shell-muted);
}

footer .footer-links ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

footer .footer-links li + li {
    margin-top: 8px;
}

footer .footer-links a {
    color: var(--shell-text);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.15s;
}

footer .footer-links a:hover {
    color: var(--shell-blue);
}

footer .footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 24px;
    border-top: 1px solid var(--shell-border);
    background: #fff;
}

footer div#copyright {
    color: var(--shell-muted);
    font-size: 13px;
    line-height: 1.4;
}

footer #sberbank-pokupay img {
    height: 30px;
}

/* menu */

#main-menu-container {
    margin-top: 12px;
}

#main-menu {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 0;
}

#main-menu li {
    list-style: none;
}

#main-menu a,
#main-menu div a {
    display: block;
    height: 42px;
    line-height: 42px;
    padding: 0 16px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    border-radius: 8px;
    transition: background-color 0.15s, color 0.15s;
}

#main-menu > div {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 8px;
    margin-bottom: 0;
    padding: 6px;
    border: 1px solid #cfd6de;
    border-radius: 12px;
    background: #f5f7fa;
    box-sizing: border-box;
}

#main-menu #catalogs-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0;
    padding: 0;
    background-color: transparent;
}

#main-menu #catalogs-menu li {
    display: block;
    background-color: transparent;
}

#main-menu #catalogs-menu a {
    color: #2e7d32;
    background: #fff;
    border: 1px solid #c8e6c9;
}

#main-menu #catalogs-menu li:hover > a,
#main-menu #catalogs-menu li.selected > a {
    background-color: #e8f5e9;
    border-color: #48af4b;
    color: #1b5e20;
    transition: none;
}

#main-menu #company-menu {
    display: flex;
    flex-wrap: wrap;
    flex-grow: 2;
    justify-content: flex-end;
    gap: 4px;
    margin: 0;
    padding: 0;
    background-color: transparent;
}

#main-menu #company-menu li {
    display: block;
    background-color: transparent;
}

#main-menu #company-menu a {
    color: #ff5607;
    background: #fff;
    border: 1px solid #ffd0b8;
}

#main-menu #company-menu li:hover > a,
#main-menu #company-menu li.selected > a {
    background-color: #fff7f2;
    border-color: #ff5607;
    color: #e64c00;
    transition: none;
}

#filters-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px;
    margin: 0;
    padding: 6px;
    background-color: #1193f5;
    border-radius: 12px;
    box-sizing: border-box;
}

#filters-menu li {
    display: block;
    background-color: transparent;
}

#filters-menu > li > a {
    border-radius: 8px;
}

#filters-menu li:hover > a,
#filters-menu li.selected > a {
    background-color: rgba(255, 255, 255, 0.18);
    transition: none;
}

#filters-menu .menu-input {
    display: flex;
    align-items: center;
    align-self: center;
    margin-left: auto;
    line-height: normal;
    padding: 0 6px;
    height: 42px;
    box-sizing: border-box;
}

#filters-menu .menu-input input {
    width: 200px;
    max-width: 100%;
    box-sizing: border-box;
    height: 34px;
    line-height: 34px;
    padding: 0 12px 0 34px;
    border: none;
    border-radius: 8px;
    background-color: #fff;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3E%3Ccircle r='5' cx='6.5' cy='6.5' fill='none' stroke='%236d6a7e' stroke-width='2'/%3E%3Cline x1='10.2' y1='10.2' x2='14' y2='14' stroke='%236d6a7e' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
    background-position: 10px center;
    background-size: 14px 14px;
    background-repeat: no-repeat;
    color: #3a3a45;
    font-size: 13px;
    vertical-align: middle;
}

#filters-menu .menu-input input::placeholder {
    color: #6d6a7e;
    opacity: 1;
    line-height: 34px;
}

#main-menu #menu-order-searcher {
    display: none;
}

#main-menu .dropdown-parent {
    position: relative;
}

#main-menu .dropdown-parent .dropdown {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    display: none;
    min-width: 200px;
    padding: 6px;
    background: #fff;
    border: 1px solid #cfd6de;
    border-radius: 10px;
    box-shadow: 0 10px 28px rgba(58, 58, 69, 0.14);
    z-index: 30;
}

#main-menu li:hover .dropdown {
    display: block;
}

#main-menu li:hover .dropdown li {
    border: none;
    background: transparent;
}

#main-menu li:hover .dropdown li:last-child {
    border-top: none;
}

#main-menu .dropdown a {
    height: 36px;
    line-height: 36px;
    padding: 0 12px;
    border-radius: 6px;
    color: #3a3a45;
    font-size: 13px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
}

#main-menu .dropdown a:hover {
    background: #f5f7fa;
    color: #1193f5;
}

#main-menu li.dropdown-parent:hover > a {
    background-color: rgba(255, 255, 255, 0.18);
}

/* index.html */

#index-page, #fasteners-page {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

#index-page a, #fasteners-page a {
    display: flex;
    flex-direction: column;
    margin: 8px;
    padding: 0;
    background-color: #fff;
    border: 1px solid var(--shell-border);
    border-radius: var(--shell-radius-md);
    text-decoration: none;
    color: var(--shell-text);
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(34, 60, 80, 0.06);
    transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}

#index-page a span, #fasteners-page a span {
    display: block;
    text-align: center;
    height: 36px;
    line-height: 36px;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    background: var(--shell-orange);
}

#index-page a:hover, #fasteners-page a:hover {
    border-color: var(--shell-orange);
    box-shadow: 0 6px 18px rgba(255, 86, 7, 0.18);
    transform: translateY(-2px);
}

#index-page a:hover img, #fasteners-page a:hover img {
    opacity: 0.9;
    transition: all 250ms ease;
}

/* Навигация */

#breadcrumbs {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    margin: 0 0 4px;
    padding: 8px 14px;
    min-height: 36px;
    background-color: var(--shell-bg);
    border: 1px solid var(--shell-border);
    border-radius: var(--shell-radius-sm);
    box-sizing: border-box;
}

#breadcrumbs li {
    display: inline-flex;
    align-items: center;
    list-style: none;
}

#breadcrumbs li:before {
    content: '';
    display: inline-block;
    width: 5px;
    height: 5px;
    margin: 0 8px;
    border-top: 1.5px solid var(--shell-border);
    border-right: 1.5px solid var(--shell-border);
    transform: rotate(45deg);
    flex-shrink: 0;
}

#breadcrumbs li:first-child:before {
    content: none;
    display: none;
}

#breadcrumbs a, #breadcrumbs .current-page {
    margin: 0;
    font-size: 13px;
    line-height: 1.35;
    text-decoration: none;
    word-break: break-word;
}

#breadcrumbs a {
    color: var(--shell-muted);
    font-weight: 500;
}

#breadcrumbs a:hover {
    color: var(--shell-blue);
}

#breadcrumbs .current-page {
    color: var(--shell-text);
    font-weight: 600;
}

.offer-info {
    color: gray;
	margin: 10px 0 0 0;
    padding: 0 30px;
    font-size: 11px;
}

.offer-info::before {
    content: "\00B7";
    position: relative;
    font-size: 39px;
    line-height: 0px;
    left: -2px;
    top: 10px;
}

/* Пагинация */

ul.pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 16px 0 0;
    padding: 0;
}

ul.pagination li {
    display: inline;
    list-style: none;
}

ul.pagination a, ul.pagination .selected, ul.pagination .dots {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    min-height: 36px;
    padding: 0 10px;
    background-color: #fff;
    border: 1px solid var(--shell-border);
    border-radius: var(--shell-radius-sm);
    color: var(--shell-text);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    text-align: center;
    box-sizing: border-box;
    transition: background-color 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s;
}

ul.pagination a:hover {
    border-color: var(--shell-orange);
    color: var(--shell-orange);
    background-color: #fff7f2;
}

ul.pagination .selected {
    background-color: var(--shell-orange);
    border-color: var(--shell-orange);
    color: #fff;
    box-shadow: 0 4px 12px rgba(255, 86, 7, 0.28);
    cursor: default;
}

ul.pagination .dots {
    border-color: transparent;
    background: transparent;
    color: var(--shell-muted);
    cursor: default;
    min-width: 28px;
    padding: 0 4px;
}

/* Формы фильтров */

#filters {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 8px;
}

.filters-with-cars-tabs {
    gap: 10px;
}

.tyres-filter-mode-tabs {
    display: none;
}

.tyres-filter-mode[hidden],
.tyres-filter-mode:not(.is-active) {
    display: none !important;
}

.tyres-filter-mode.is-active {
    display: block !important;
}

.filters-with-cars-tabs--desktop .tyres-filter-mode-tabs {
    display: flex;
    width: 100%;
}

@media screen and (min-width: 861px) {
    .filters-with-cars-tabs .tyres-filter-mode-tabs {
        display: flex;
        width: 100%;
    }
}

.tyres-filter-mode-tabs button {
    flex: 1 1 0;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--shell-border, #cfd6de);
    background: #fff;
    color: var(--shell-muted, #6d6a7e);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color 0.15s, color 0.15s, border-color 0.15s, box-shadow 0.15s;
}

.tyres-filter-mode-tabs button:first-child {
    border-radius: 10px 0 0 10px;
}

.tyres-filter-mode-tabs button:last-child {
    border-radius: 0 10px 10px 0;
    margin-left: -1px;
}

.tyres-filter-mode-tabs button.selected {
    background: var(--shell-blue, #1193f5);
    border-color: var(--shell-blue, #1193f5);
    color: #fff;
    box-shadow: 0 2px 8px rgba(17, 147, 245, 0.28);
    z-index: 1;
}

.tyres-cars-embed {
    --svc-orange: #ff5607;
    --svc-blue: #1193f5;
    --svc-text: #3a3a45;
    --svc-muted: #6d6a7e;
    --svc-border: #cfd6de;
    --svc-bg: #f5f7fa;
}

.tyres-cars-embed.cars-page form#cars-filter.main-filter {
    margin: 0;
    background: var(--shell-bg, #f5f7fa);
    border: 1px solid var(--shell-border, #cfd6de);
    border-radius: var(--shell-radius-lg, 12px);
}

/* Same 2-col select width as «По параметрам» — don't stretch last field like submit */
@media screen and (max-width: 860px) {
    #filters .tyres-cars-embed form#cars-filter.main-filter .wrapper,
    #filters .tyres-cars-embed form#cars-filter.main-filter .wrapper:last-child {
        flex: 1 1 40%;
        max-width: none;
    }
}

.tyres-cars-embed .cars-embed-result-filters {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: end;
    gap: 10px;
    margin: 12px 0 0;
    padding: 12px;
    box-sizing: border-box;
    background: var(--shell-bg, #f5f7fa);
    border: 1px solid var(--shell-border, #cfd6de);
    border-radius: var(--shell-radius-lg, 12px);
}

.tyres-cars-embed .cars-embed-result-filters[hidden] {
    display: none !important;
}

.tyres-cars-embed .cars-embed-result-filters > form.main-filter {
    display: contents;
}

.tyres-cars-embed .cars-embed-result-filters .wrapper {
    min-width: 0;
    max-width: none;
    width: auto;
    flex: none;
}

/* Сезон отдельно, сортировка + срок — всегда в одну строку */
.tyres-cars-embed .cars-embed-result-filters .wrapper:has(select[name="season"]) {
    grid-column: 1 / -1;
    max-width: calc(50% - 5px);
}

.tyres-cars-embed .cars-embed-result-filters select,
.tyres-cars-embed .cars-embed-result-filters form#switches select,
.tyres-cars-embed .cars-embed-result-filters .custom-checkbox-container,
.tyres-cars-embed .cars-embed-result-filters form#switches .custom-checkbox-container {
    height: 44px !important;
    min-height: 44px;
    line-height: 44px !important;
    padding: 0 12px;
    font-size: 15px;
    box-sizing: border-box;
    color: var(--shell-text, #3a3a45) !important;
    background-color: #fff !important;
    border: 1px solid var(--shell-border, #cfd6de) !important;
    border-radius: var(--shell-radius-sm, 8px);
}

.tyres-cars-embed .cars-embed-result-filters label:not(.custom-checkbox-container),
.tyres-cars-embed .cars-embed-result-filters form#switches label:not(.custom-checkbox-container) {
    font-size: 12px;
    line-height: 1.2;
    margin-bottom: 6px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--shell-muted, #6d6a7e);
    white-space: normal;
}

.tyres-cars-embed .cars-embed-hidden-field {
    display: none !important;
}

@media screen and (max-width: 860px) {
    .tyres-cars-embed .cars-embed-result-filters select,
    .tyres-cars-embed .cars-embed-result-filters form#switches select,
    .tyres-cars-embed .cars-embed-result-filters .custom-checkbox-container,
    .tyres-cars-embed .cars-embed-result-filters form#switches .custom-checkbox-container {
        height: 40px !important;
        min-height: 40px;
        line-height: 40px !important;
        font-size: 14px;
    }

    .tyres-cars-embed .cars-embed-result-filters label:not(.custom-checkbox-container),
    .tyres-cars-embed .cars-embed-result-filters form#switches label:not(.custom-checkbox-container) {
        font-size: 11px;
        margin-bottom: 4px;
    }

    .tyres-filter-mode-tabs {
        display: flex;
        width: 100%;
    }
}

body.tyres-mode-cars #main > :not(#filters) {
    display: none !important;
}

.tyres-cars-embed.cars-page form#cars-filter select,
.tyres-cars-embed .cars-embed-result-filters select {
    color: var(--shell-text, #3a3a45) !important;
    background-color: #fff !important;
    border: 1px solid var(--shell-border, #cfd6de) !important;
    border-radius: var(--shell-radius-sm, 8px);
    -webkit-appearance: menulist;
    appearance: auto;
}

.tyres-cars-embed.cars-page form#cars-filter select:disabled,
.tyres-cars-embed .cars-embed-result-filters select:disabled {
    color: var(--shell-muted, #6d6a7e) !important;
    background-color: #eef1f5 !important;
    opacity: 1;
}

.tyres-cars-embed.cars-page form#cars-filter label {
    color: var(--shell-muted, #6d6a7e);
}

.tyres-cars-embed #container {
    margin-top: 12px;
}

.tyres-cars-embed #car-block {
    display: none !important;
}

.tyres-cars-embed #sizes-block {
    border: 1px solid var(--shell-border, #cfd6de);
    border-radius: var(--shell-radius-lg, 12px);
    background: #fff;
    overflow: hidden;
}

.tyres-cars-embed #sizes-block table {
    min-width: 0;
}

.tyres-cars-embed #cars-products-list {
    margin-top: 12px;
}

.tyres-cars-embed #cars-products-list:empty,
.tyres-cars-embed #cars-products-list[hidden] {
    display: none;
}

.tyres-cars-embed #sizes-block .clickable.is-selected {
    color: var(--shell-orange, #ff5607);
    border-bottom-color: var(--shell-orange, #ff5607);
    border-bottom-style: solid;
}

form.main-filter {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 16px 14px;
    background: var(--shell-bg);
    border: 1px solid var(--shell-border);
    border-radius: var(--shell-radius-lg);
    box-sizing: border-box;
    gap: 10px;
}

form.main-filter .wrapper {
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    flex: 1 1 88px;
    min-width: 0;
}

form.main-filter .wrapper:has(> .custom-checkbox-container) {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 9.5em;
}

form.main-filter label {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--shell-muted);
}

form.main-filter select, form.main-filter input, form.main-filter textarea {
    box-sizing: border-box;
    padding: 0 10px;
    width: 100%;
    min-width: 0;
    font-size: 15px;
    color: var(--shell-text);
    background-color: #fff;
    border: 1px solid var(--shell-border);
    border-radius: var(--shell-radius-sm);
    transition: border-color 0.15s, box-shadow 0.15s, background-color 0.15s;
}

form.main-filter select:focus, form.main-filter input:focus, form.main-filter textarea:focus {
    outline: none;
    border-color: var(--shell-blue);
    box-shadow: 0 0 0 3px rgba(17, 147, 245, 0.18);
    background-color: #fff;
}

form.main-filter select, form.main-filter input {
    line-height: 44px;
    height: 44px;
}

form.main-filter button.primary {
    width: 100%;
    min-width: 100px;
    min-height: 44px;
    line-height: 44px;
    letter-spacing: 0;
}

form.main-filter .submit-wrapper {
    flex: 0 0 auto;
    min-width: 110px;
    max-width: 150px;
}

form.main-filter .submit-wrapper button.primary {
    width: auto;
    min-width: 110px;
    padding: 0 20px;
}

/* custom-checkbox */

form.main-filter .custom-checkbox-container {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border: 1px solid var(--shell-border);
    border-radius: var(--shell-radius-sm);
    line-height: 44px;
    height: 44px;
    margin-bottom: 0;
    padding: 0 12px;
    width: 100%;
    min-width: 48px;
    box-sizing: border-box;
    text-transform: none;
    letter-spacing: 0;
    transition: border-color 0.15s, box-shadow 0.15s;
}

form.main-filter .custom-checkbox-container:hover {
    border-color: #b8c0cb;
}

form.main-filter .custom-checkbox-label {
    font-size: 14px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    color: var(--shell-text);
    margin-left: 7px;
}

form.main-filter .custom-checkbox-self {
    display: none;
}

form.main-filter .custom-checkbox-canvas {
    position: relative;
    /* required */
    width: 20px;
    /* required */
    height: 20px;
    /* required */
    display: inline-block;
    /* required */
    margin: 0;
    border: 2px solid var(--shell-border);
    border-radius: 4px;
    vertical-align: middle;
    background: #fff;
    flex-shrink: 0;
}

form.main-filter .custom-checkbox-self:checked+.custom-checkbox-canvas {
    border-color: var(--shell-orange);
    background: #fff7f2;
}

form.main-filter .custom-checkbox-self:checked+.custom-checkbox-canvas::before {
    content: '';
    display: block;
    position: absolute;
    top: 2px;
    right: 2px;
    bottom: 2px;
    left: 2px;
    background-image: url("data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='%23ff5607' d='M 7 0.5 l -4.05 4.75 -1.7 -1.5 L 0.5 4.6 3 7 7.9 1.3 z'/></svg>");
}

/* login / order lookup */

form.login.main-filter {
    max-width: 420px;
    margin: 16px auto 0;
}

form.login.main-filter .wrapper:last-child {
    flex-basis: 100%;
}

form.login.main-filter button.primary {
    width: 100%;
}

/* sort filter */

form#switches {
    display: flex;
    flex-wrap: wrap;
    width: auto;
    max-width: 100%;
    align-items: flex-end;
    gap: 12px;
}

form#switches .wrapper {
    flex: 1 1 200px;
    min-width: 160px;
    max-width: 280px;
}

form#switches .wrapper:has(.custom-checkbox-container) {
    flex: 0 0 auto;
    min-width: 0;
    max-width: none;
}

form#switches label {
    font-size: 12px;
    line-height: 1.2;
    white-space: nowrap;
    margin-bottom: 6px;
}

form#switches select {
    height: 44px;
    line-height: 44px;
    padding: 0 12px;
    font-size: 15px;
}

form#switches .wrapper:has(> .custom-checkbox-container) {
    min-width: 72px;
    max-width: 120px;
}

form#switches .custom-checkbox-container {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 44px;
    height: 44px;
    margin-bottom: 0;
    padding: 0 12px;
    width: 100%;
}

form#switches .custom-checkbox-canvas {
    width: 16px;
    height: 16px;
    margin: 0;
}

form#switches .custom-checkbox-label {
    font-size: 14px;
    margin-left: 4px;
    text-transform: initial;
}

@media screen and (min-width: 861px) {
    form#switches {
        flex-wrap: nowrap;
        width: fit-content;
    }

    form#switches .wrapper {
        flex: 0 0 240px;
        max-width: none;
    }

    form#switches .wrapper:has(.custom-checkbox-container) {
        flex: 0 0 auto;
    }
}

/* law checkbox in forms */

form .law-wrapper, form.main-filter .law-wrapper {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row-reverse;
}

form .law-wrapper label {
    display: inline-block;
    font-size: 14px;
    text-transform: inherit;
    cursor: pointer;
}

form .law-wrapper label a {
    text-decoration: underline;
}

form .law-wrapper input {
    width: inherit;
    height: inherit;
    min-width: inherit;
    line-height: inherit;
    box-shadow: none;
}

.simple-gallery {
    display: flex;
    flex-direction: row;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
    max-width: inherit;
    max-height: inherit;
}

.simple-gallery>* {
    flex: 0 0 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: scale-down;
}

/* Список товаров */

h2.items-section {
    font-size: 17px;
    text-transform: uppercase;
    text-align: center;
}

h2.items-section:not(:first-of-type) {
    margin-top: 40px;
}

.products-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.products-list .list {
    display: grid;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
    align-items: stretch;
}

.products-list .product {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
    height: 100%;
    min-height: 340px;
    margin: 0;
    padding: 14px;
    background: #fff;
    border: 1px solid #cfd6de;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(34, 60, 80, 0.06);
    box-sizing: border-box;
    transition: box-shadow .15s, border-color .15s;
}

.products-list .product:hover {
    border-color: #b8c4d0;
    box-shadow: 0 4px 14px rgba(34, 60, 80, 0.1);
}

.products-list .product-top {
    display: flex;
    justify-content: space-between;
    position: relative;
    height: 150px;
    margin-bottom: 8px;
}

.products-list .product-bottom {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 8px;
    min-width: 0;
}

.products-list .product-top-left {
    width: 140px;
    height: 140px;
    position: relative;
}

.products-list .product-top-left a {
    width: 140px;
    height: 140px;
    /* центрирует картинку и не дает ей вылезти за пределы контейнера */
    display: flex;
    justify-content: center;
    align-items: center;
}

.products-list .product-top-left img {
    pointer-events: none;
    /* иначе "неквадратные" картинки мешают mousemove галереи */
    max-width: 100%;
    max-height: 100%;
}

.overlay-season {
    height: 30px;
}

.products-list .product-top-left .overlay-season {
    position: absolute;
    top: 0;
    right: 0;
}

.products-list .product-top-right {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    width: 72px;
    margin-top: 4px;
    flex-shrink: 0;
}

.products-list .product-top-right > *:not(:last-child) {
    margin-bottom: 8px;
}

.products-list .product-brand-logo {
    max-width: 100%;
    max-height: 36px;
}

.products-list .product-brand-logo-empty {
    display: block;
    width: 100%;
    height: 36px;
    background: transparent;
}

.products-list .product-badges {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: 100%;
}

.products-list .product-badges > *:not(:last-child) {
    margin-bottom: 0;
}

.products-list .product-badges img {
    max-width: 100%;
    max-height: 36px;
}

.products-list .product-top-right img {
    max-width: 100%;
    max-height: 36px;
}

.products-list .product .name {
    display: block;
    font-size: 14px;
    line-height: 1.35;
    min-height: calc(1.35em * 3);
    color: #3a3a45;
    word-break: break-word;
}

.products-list .product .name a {
    color: #3a3a45;
    text-decoration: none;
}

.products-list .product .name a:hover {
    color: #1193f5;
}

.products-list .product .name .product-code {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    font-weight: normal;
    color: #6d6a7e;
}

.products-list .product .promotions-container {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: none;
    gap: 2px;
    padding: 0;
    margin: 0;
    height: 58px;
    min-height: 58px;
    max-height: 58px;
    overflow: hidden;
    font-size: 12px;
    line-height: 18px;
    list-style: none;
    color: #6d6a7e;
}

.products-list .product .promotions-container > usk-tooltip {
    position: absolute;
    /* tooltip trigger overlay; don't affect layout height */
    inset: 0;
    opacity: 0;
    pointer-events: none;
}

.products-list .product .promotions-container > li {
    display: block;
    height: 18px;
    min-height: 18px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.products-list .product .promotions-container > li > * {
    display: block;
    line-height: 18px !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.products-list .product .price-buy-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
    width: 100%;
}

.products-list .product .price-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
}

.products-list .product .old-price-container {
    min-height: 16px;
}

.products-list .product .price {
    font-size: 22px;
    font-weight: 700;
    color: #3a3a45;
    letter-spacing: -0.02em;
}

.products-list .product .availability-container {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    flex: none;
    margin-top: auto;
    min-height: 32px;
    max-width: 100%;
    line-height: 1.3;
    font-size: 12px;
    color: #6d6a7e;
    overflow: hidden;
}

.products-list .product .availability-container + .price-buy-container,
.products-list .product .availability-container ~ .price-buy-container {
    margin-top: 0;
}

.products-list .product .availability-container>ul {
    list-style: none;
    cursor: pointer;
    margin: 0;
    padding: 0;
}

.products-list .product .availability-container .incomplete-kit {
    display: inline-block;
    margin-top: 4px;
    padding: 2px 8px;
    border-radius: 4px;
    background: #fff3e0;
    color: #c62828;
    font-size: 11px;
    font-weight: 600;
}

.products-list .product .buy-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
}

.credit-info {
    font-size: 11px;
    white-space: nowrap;
    color: #6d6a7e;
    background-color: #f5f7fa;
    padding: 2px 6px;
    margin-top: 4px;
    border-radius: 4px;
    min-width: 90px;
    text-align: center;
}

.products-list .product button.buy {
    width: 104px;
    min-height: 40px;
    padding: 0 12px;
    border-radius: 6px;
    white-space: nowrap;
    font-size: 15px;
    text-transform: none;
    line-height: 40px;
}

.products-list .product.incomplete {
    background-color: #fff;
    border-color: #f0c36d;
}

.products-list .product.incomplete .product-top a {
    border: none;
    background-color: transparent;
    box-sizing: border-box;
}

.old-price {
    position: relative;
    color: darkgray;
    font-weight: bold;
    text-decoration: line-through;
}

.different-color-marker {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    text-align: center;
    font-size: 13px;
    line-height: 18px;
    background-color: lightslategray;
    color: white;
}

.ruble-sign {
    color: darkgray;
    font-weight: normal;
}

/* Страница товара */

#product-page {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 24px;
    padding-bottom: 24px;
}

#product-page .image {
    position: relative;
    /* для "different-color-marker" */
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 360px;
    max-height: 500px;
    min-width: 220px;
    min-height: 220px;
    margin-bottom: 12px;
    padding: 12px;
    background: #fff;
    border: 1px solid #cfd6de;
    border-radius: 8px;
    box-sizing: border-box;
}

#product-page .image a img {
    width: 100%;
    height: 100%;
    object-fit: scale-down;
}

#product-page .image .product-image-badges {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: flex-end;
    gap: 6px;
    z-index: 3;
    pointer-events: none;
}

#product-page .image .product-image-badges > * {
    margin: 0 !important;
    pointer-events: auto;
}

#product-page .image .product-image-badges > span {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 4px 8px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    white-space: nowrap;
    border-radius: 3px;
}

#product-page .image .product-image-badges img {
    max-height: 40px;
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

#product-page .info {
    flex-grow: 1;
    width: 100%;
    max-width: 380px;
    padding: 4px 8px;
    box-sizing: border-box;
}

#product-page .info>*:not(:first-child) {
    margin-top: 16px;
}

#product-page .info .name {
    display: flex;
    flex-wrap: wrap;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 700;
    color: #3a3a45;
}

#product-page .info .name>*:not(:last-child) {
    margin-right: 15px;
}

#product-page .info .product-code {
    margin-top: 6px;
    font-size: 13px;
    color: #6d6a7e;
}

#product-page .info .brand-logo {
    display: flex;
    align-items: center;
    width: 180px;
}

#product-page .info .brand-logo img {
    max-width: 100%;
    max-height: 100%;
}

#product-page .info .promotions>* {
    display: block;
}

#product-page .info .promotions img {
    display: none;
}

#product-page .info .availability ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

#product-page .price-container {
    display: inline-block;
    text-align: left;
}

#product-page .price {
    display: block;
    font-size: 32px;
    font-weight: 700;
    color: #3a3a45;
    letter-spacing: -0.02em;
}

#product-page .buy-container {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

#product-page button.buy {
    width: 100%;
    max-width: 280px;
    min-height: 48px;
    border-radius: 6px;
    text-transform: none;
    font-size: 16px;
    font-weight: 700;
    line-height: 48px;
}

/* sticky buy bar (mobile) */

.product-sticky-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 40;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
    background: #fff;
    border-top: 1px solid #cfd6de;
    box-shadow: 0 -6px 20px rgba(34, 60, 80, 0.12);
    box-sizing: border-box;
}

.product-sticky-bar[hidden] {
    display: none !important;
}

.product-sticky-bar .price {
    flex: 1;
    min-width: 0;
    font-size: 22px;
    font-weight: 700;
    color: #1193f5;
    letter-spacing: -0.02em;
}

.product-sticky-bar button.buy {
    flex: 0 0 auto;
    width: auto;
    min-width: 140px;
    max-width: none;
    min-height: 48px;
    padding: 0 20px;
    border-radius: 6px;
    line-height: 48px;
}

#product-page.has-sticky-buy {
    padding-bottom: 88px;
}

/* other */

ul.availability li {
    display: flex;
    justify-content: space-between;
    white-space: nowrap;
}

#product-page ul.availability li> :first-child {
    margin-right: 0;
}

ul.availability li> :first-child {
    margin-right: 15px;
}

ul.availability li .dots {
    display: none;
}

#product-page ul.availability li .dots {
    display: block;
    overflow: hidden;
    margin: 0 2px;
    opacity: 0.5;
}

/* убираем спиннер из number input */

input[type='number']::-webkit-outer-spin-button, input[type='number']::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type='number'] {
    -moz-appearance: textfield;
}

.nothing-found-label {
    display: block;
    padding: 20px;
    font-size: 22px;
    text-align: center;
    color: gray;
    border: 10px solid #eeeeee;
}

/* mobile */

#mobile-menu-container {
    display: none;
}

/* эта цифра должна быть равна константе в main.js */

@media screen and (max-width: 860px) {
    html, body {
        overflow-x: hidden;
        max-width: 100%;
    }
    #content-container {
        margin-top: 48px;
        padding: 5px 10px 20px 10px;
        max-width: 100%;
        overflow-x: hidden;
    }
    #mobile-menu-container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 220;
        height: 48px;
        box-sizing: border-box;
        padding-right: 210px; /* room for 4 labeled action icons */
        background-color: #ff5607;
        box-shadow: 0 2px 10px rgba(255, 86, 7, 0.25);
    }
    #mobile-menu-container button {
        background-position-y: center;
        background-position-x: 14px;
        background-repeat: no-repeat;
        height: 100%;
        line-height: 100%;
        padding: 10px 14px 10px 42px;
        text-transform: none;
        font-size: 15px;
        font-weight: 700;
        border-radius: 0;
    }
    #mobile-menu-container button:hover {
        background-color: inherit;
    }
    #mobile-menu-container button.selected {
        background-color: #e64c00;
    }
    button#mobile-menu-button {
        background-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="18" stroke="%23FFFFFF" stroke-width="4" stroke-linecap="round"><polyline points="2 2, 18 2"/><polyline points="2 9, 18 9"/><polyline points="2 16, 18 16"/></svg>');
    }
    header {
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        gap: 8px;
        margin: 0;
        padding: 8px 0 12px;
        border-bottom: 1px solid #cfd6de;
    }
    header.site-header {
        display: block;
    }
    header .header-top-row {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        grid-template-areas: "logo location";
        align-items: center;
        column-gap: 12px;
        row-gap: 0;
        width: 100%;
    }
    header > * {
        margin: 0;
    }
    header .logo {
        grid-area: logo;
        width: min(180px, 48vw);
        max-width: 100%;
        margin: 0;
    }
    header .phone {
        display: none;
    }
    /* Desktop-only chrome */
    header .header-catalog-btn,
    header .header-search-cluster,
    header .header-quick-nav,
    header .header-catalog-panel {
        display: none !important;
    }
    /* City / shop to the right of logo */
    header .header-location-wrap {
        grid-area: location;
        display: flex !important;
        align-items: center;
        width: auto;
        min-width: 0;
        margin: 0;
        padding: 0;
    }
    header .header-pickup-row {
        display: block !important;
        position: relative;
        width: auto;
        max-width: 100%;
        margin: 0;
    }
    header .header-pickup-line {
        display: flex;
        align-items: center;
        gap: 5px;
        min-width: 0;
        max-width: 100%;
    }
    header .header-pickup-part {
        margin: 0;
        padding: 0;
        border: none;
        background: transparent;
        cursor: pointer;
        font-family: inherit;
        font-size: 13px;
        line-height: 1.3;
        text-align: left;
    }
    header .header-pickup-part--town {
        flex: 0 0 auto;
        font-weight: 700;
        color: #3a3a45;
    }
    header .header-pickup-part--shop {
        flex: 1 1 auto;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-weight: 600;
        color: #1193f5;
    }
    header .header-pickup-sep {
        flex-shrink: 0;
        color: #6d6a7e;
        font-weight: 600;
    }
    header #current-shop {
        display: inline-block !important;
        max-width: none;
    }
    header .header-pickup-dropdown {
        position: absolute;
        top: calc(100% + 8px);
        left: 0;
        right: auto;
        z-index: 240;
        box-sizing: border-box;
        width: min(280px, calc(100vw - 24px));
        min-width: 0;
        max-width: calc(100vw - 24px);
        margin: 0;
        padding: 8px 4px;
        list-style: none;
        border: 1px solid #cfd6de;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 12px 32px rgba(58, 58, 69, 0.14);
    }
    header .header-pickup-dropdown--shop {
        left: 0;
    }
    header .header-pickup-dropdown-title {
        padding: 6px 12px 4px;
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: #6d6a7e;
    }
    header .header-pickup-dropdown .town-selector-item,
    header .header-pickup-dropdown .shop-selector-item {
        padding: 10px 12px;
        margin: 0 4px;
        border-radius: 8px;
        font-size: 14px;
        color: #3a3a45;
        cursor: pointer;
    }
    /* 4 icons in orange bar (with Меню), not in white header row */
    header .header-actions-stack {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
        bottom: auto !important;
        z-index: 230;
        display: flex !important;
        flex-direction: row !important;
        align-items: center;
        justify-content: flex-end;
        height: 48px;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        padding: 0 4px 0 0;
        margin: 0 !important;
        transform: none !important;
        pointer-events: none;
        box-sizing: border-box;
    }
    header .header-actions {
        display: flex !important;
        flex-direction: row !important;
        align-items: center;
        justify-content: flex-end;
        gap: 2px;
        margin: 0;
        flex-wrap: nowrap;
        pointer-events: auto;
    }
    header .header-action-tile,
    header .header-actions .header-action-tile:not(#cart-popup),
    header #header-order-searcher,
    header #contacts-link,
    header #cart-popup {
        display: flex !important;
        position: relative !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        flex: 0 0 auto;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 1px;
        width: auto !important;
        min-width: 44px !important;
        max-width: 56px !important;
        height: 44px !important;
        margin: 0 !important;
        padding: 2px 2px 0 !important;
        border: none !important;
        border-radius: 6px;
        background: transparent !important;
        box-shadow: none !important;
        color: #fff;
        text-decoration: none;
        z-index: auto;
        overflow: visible;
    }
    header .header-action-tile:hover,
    header #cart-popup:hover,
    header #header-order-searcher:hover {
        background: rgba(255, 255, 255, 0.14) !important;
        color: #fff;
        box-shadow: none !important;
    }
    header .header-action-label,
    header #cart-popup .header-action-label {
        display: block !important;
        font-size: 9px;
        font-weight: 600;
        line-height: 1.05;
        letter-spacing: -0.02em;
        text-align: center;
        white-space: nowrap;
        color: #fff;
        max-width: 54px;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    header .header-action-icon,
    header #cart-popup .header-action-icon {
        display: block !important;
        width: 20px;
        height: 20px;
        margin: 0;
        border: none;
        border-radius: 0;
        background-color: transparent;
        background-repeat: no-repeat;
        background-position: center;
        background-size: 20px 20px;
        flex-shrink: 0;
    }
    header .header-action-icon--contacts {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6-5.33-6-11a6 6 0 1 1 12 0c0 5.67-6 11-6 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
    }
    header .header-action-icon--order {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2'/%3E%3Crect x='9' y='3' width='6' height='4' rx='1'/%3E%3C/svg%3E");
    }
    header .header-action-icon--user {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M5 20c1.5-3.5 4-5 7-5s5.5 1.5 7 5'/%3E%3C/svg%3E");
    }
    header .header-action-icon--cart,
    header #cart-popup .header-action-icon--cart {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5' fill='%23FFFFFF' stroke='none'/%3E%3Ccircle cx='18' cy='20' r='1.5' fill='%23FFFFFF' stroke='none'/%3E%3Cpath d='M3 4h2l2.4 11.2a1.5 1.5 0 0 0 1.5 1.2h8.4a1.5 1.5 0 0 0 1.5-1.2L21 8H7'/%3E%3C/svg%3E");
    }
    header #cart-qty {
        top: -1px;
        right: 0;
        min-width: 14px;
        height: 14px;
        font-size: 9px;
    }
    #main {
        margin-top: 20px;
    }
    #main-menu-container {
        display: none;
        position: fixed;
        top: 48px;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 210;
        margin-top: 0;
        background-color: rgba(0, 0, 0, 0.45);
        overflow-y: auto;
        isolation: isolate;
    }
    #main-menu {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: stretch;
        gap: 2px;
        position: absolute;
        left: -300px;
        width: min(300px, 86vw);
        margin-top: 0;
        padding: 8px 8px 24px;
        background-color: #fff;
        box-shadow: 4px 0 24px rgba(0, 0, 0, 0.18);
        box-sizing: border-box;
        min-height: 100%;
        height: 100%;
        z-index: 1;
    }
    #main-menu > div {
        display: contents;
    }
    #main-menu li {
        width: 100%;
        display: block;
        margin: 0;
        padding: 0;
        text-align: left;
    }
    #main-menu #catalogs-menu,
    #main-menu #filters-menu,
    #main-menu #company-menu {
        display: contents;
    }
    #main-menu #filters-menu > li:not(.menu-input) {
        order: 1;
    }
    #main-menu #catalogs-menu > li,
    #main-menu #company-menu > li {
        order: 2;
    }
    #main-menu #filters-menu > li.menu-input {
        order: 3;
    }
    #main-menu #company-menu {
        justify-content: flex-start;
    }
    #main-menu a,
    #main-menu div a,
    #main-menu #catalogs-menu a,
    #main-menu #company-menu a,
    #main-menu #filters-menu > li > a,
    #main-menu #menu-order-searcher a {
        display: block;
        width: 100%;
        box-sizing: border-box;
        height: 44px;
        line-height: 44px;
        margin: 0;
        padding: 0 12px;
        border-radius: 8px;
        border: none !important;
        background: transparent !important;
        color: #3a3a45 !important;
        font-size: 15px;
        font-weight: 600;
        letter-spacing: 0;
        text-transform: none;
        text-align: left !important;
        white-space: nowrap;
    }
    #main-menu #catalogs-menu li:hover > a,
    #main-menu #catalogs-menu li.selected > a,
    #main-menu #company-menu li:hover > a,
    #main-menu #company-menu li.selected > a,
    #main-menu #filters-menu > li:hover > a,
    #main-menu #filters-menu > li.selected > a,
    #main-menu #menu-order-searcher:hover > a,
    #main-menu li.dropdown-parent:hover > a {
        background: #f0f4f8 !important;
        color: #3a3a45 !important;
        border: none !important;
    }
    #main-menu #filters-menu > li.selected > a,
    #main-menu #catalogs-menu li.selected > a,
    #main-menu #company-menu li.selected > a {
        background: #e8f4fd !important;
        color: #0b6cb8 !important;
    }
    #main-menu #menu-order-searcher {
        display: block;
        width: 100%;
    }
    #main-menu .menu-input,
    #main-menu #filters-menu .menu-input {
        margin-left: 0 !important;
        margin-right: 0;
        width: 100%;
        margin-top: 8px;
        padding: 10px 4px 0;
        height: auto;
        align-self: stretch;
        border-top: 1px solid #e8edf2;
        box-sizing: border-box;
    }
    #main-menu .menu-input input,
    #main-menu #filters-menu .menu-input input {
        width: 100%;
        height: 44px;
        line-height: 44px;
        box-sizing: border-box;
        border-radius: 8px;
        border: 1px solid #9aa3ad !important;
        background-color: #f5f7fa !important;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3E%3Ccircle r='5' cx='6.5' cy='6.5' fill='none' stroke='%236d6a7e' stroke-width='2'/%3E%3Cline x1='10.2' y1='10.2' x2='14' y2='14' stroke='%236d6a7e' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
        background-position: 12px center !important;
        background-size: 14px 14px !important;
        background-repeat: no-repeat !important;
        box-shadow: inset 0 1px 2px rgba(58, 58, 69, 0.06);
        color: #3a3a45;
        font-size: 14px;
        padding: 0 12px 0 36px !important;
    }
    #main-menu .menu-input input:focus,
    #main-menu #filters-menu .menu-input input:focus {
        outline: none;
        border-color: #1193f5 !important;
        box-shadow: 0 0 0 3px rgba(17, 147, 245, 0.15);
    }
    #main-menu .dropdown-parent .dropdown {
        position: static;
        display: none;
        width: 100%;
        margin: 0 0 4px;
        padding: 0 0 0 8px;
        box-shadow: none;
        background: transparent;
        border: none;
        order: 1;
    }
    #main-menu .dropdown-parent .dropdown li {
        width: 100%;
    }
    #main-menu .dropdown-parent .dropdown a {
        height: 40px;
        line-height: 40px;
        font-size: 14px;
        font-weight: 500;
        color: #6d6a7e !important;
        text-transform: none;
        text-align: left !important;
    }
    #main-menu .dropdown-parent .dropdown a:hover {
        background: #f0f4f8 !important;
        color: #3a3a45 !important;
    }
    #main-menu li:hover .dropdown,
    #main-menu li.selected .dropdown {
        display: block;
    }
    /* Mobile: no tyre-size flyout under «Шины» (desktop hover flyout stays) */
    #main-menu .dropdown--tyre-sizes,
    #main-menu li:hover .dropdown--tyre-sizes,
    #main-menu li.selected .dropdown--tyre-sizes,
    #main-menu .dropdown-parent:has(> a[href="/tyres"]) > .dropdown {
        display: none !important;
    }
    form.main-filter {
        padding: 12px;
        gap: 10px;
    }
    form.main-filter .wrapper {
        flex-grow: 1;
        flex-basis: 40%;
        min-width: 0;
    }
    /* в #filters последний wrapper отвечает за кнопку */
    #filters form.main-filter .wrapper:last-child,
    form.main-filter .submit-wrapper {
        flex: 1 1 100%;
        max-width: none;
        min-width: 0;
    }
    form.main-filter .submit-wrapper button.primary {
        width: 100%;
    }
    form.main-filter .wrapper label {
        font-size: 11px;
        line-height: 1.2;
        margin-bottom: 4px;
    }
    form.main-filter .wrapper select, form.main-filter .wrapper input, form.main-filter .wrapper label.custom-checkbox-container {
        line-height: 40px;
        height: 40px;
        margin-bottom: 0;
        font-size: 14px;
    }
    form.main-filter button.primary {
        min-height: 40px;
        line-height: 40px;
    }
    form#switches {
        display: flex;
        width: 100%;
        justify-content: flex-start;
        margin-left: 0;
        margin-right: 0;
        gap: 10px;
    }
    form#switches .wrapper {
        flex: 1 1 calc(50% - 5px);
        min-width: 0;
        max-width: none;
    }
    form#switches .wrapper:has(.custom-checkbox-container) {
        flex: 1 1 100%;
    }
    form#switches select,
    form#switches .custom-checkbox-container {
        height: 40px;
        line-height: 40px;
        font-size: 14px;
    }
    form#switches label {
        font-size: 11px;
        margin-bottom: 4px;
    }
    button.primary {
        line-height: 36px;
    }
    ul.pagination {
        justify-content: center;
    }
    ul.pagination a, ul.pagination .selected, ul.pagination .dots {
        min-width: 32px;
        min-height: 32px;
        font-size: 13px;
    }
    #breadcrumbs {
        min-height: 32px;
        margin-top: 8px;
        padding: 6px 10px;
        font-size: 13px;
        width: 100%;
    }
    footer .footer-main {
        grid-template-columns: 1fr 1fr;
        gap: 20px 16px;
        padding: 20px 16px 14px;
    }
    footer .footer-brand {
        grid-column: 1 / -1;
    }
    footer .footer-bottom {
        padding: 12px 16px;
    }
    .products-list .list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: none;
        gap: 10px 8px;
        padding: 0;
        align-items: stretch;
    }

    .products-list .product {
        display: flex;
        flex-direction: column;
        min-height: 0;
        height: 100%;
        padding: 10px 6px;
        overflow: hidden;
        box-sizing: border-box;
    }

    /* --- photo block --- */
    .products-list .product-top {
        position: relative;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 176px 30px;
        flex: none;
        height: auto;
        margin-bottom: 4px;
        overflow: visible;
    }

    .products-list .product-top-left {
        position: relative;
        grid-row: 1;
        grid-column: 1;
        width: 100%;
        height: 176px;
        max-height: none;
    }

    .products-list .product-top-left a,
    .products-list .product-top-left .simple-gallery {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .products-list .product-top-left img:not(.overlay-season) {
        max-width: 100%;
        max-height: 100%;
        width: auto;
        height: auto;
        object-fit: contain;
    }

    .products-list .product-top-left .overlay-season {
        position: absolute;
        top: 4px;
        left: 4px;
        right: auto;
        height: 24px;
        z-index: 1;
    }

    body.mobile-menu-open .products-list .overlay-season,
    body.mobile-menu-open .products-list .product-badges {
        visibility: hidden;
    }

    .products-list .product-top-right {
        display: contents;
        pointer-events: none;
    }

    .products-list .product-top-right > *:not(:last-child) {
        margin-bottom: 0;
    }

    /* brand logo — under photo, not on the tire image; empty slot keeps card height */
    .products-list .product-brand-logo {
        grid-row: 2;
        grid-column: 1;
        position: static;
        display: block;
        justify-self: start;
        align-self: center;
        width: auto !important;
        height: 20px !important;
        max-width: 92px !important;
        max-height: 20px !important;
        margin-top: 0;
        padding: 3px 6px;
        object-fit: contain;
        object-position: center left;
        background: rgba(255, 255, 255, 0.94);
        border-radius: 4px;
        box-shadow: 0 1px 3px rgba(34, 60, 80, 0.12);
        box-sizing: content-box;
    }

    .products-list .product-brand-logo-empty {
        width: 1px !important;
        max-width: 1px !important;
        padding: 0;
        background: transparent;
        box-shadow: none;
        visibility: hidden;
    }

    /* stickers — bottom of photo */
    .products-list .product-badges {
        grid-row: 1;
        grid-column: 1;
        align-self: end;
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        width: auto;
        height: 28px;
        max-height: 28px;
        margin: 0 4px 4px;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-end;
        align-items: center;
        gap: 4px;
        overflow: hidden;
        z-index: 3;
    }

    .products-list .product-badges > * {
        margin: 0 !important;
        max-width: 100%;
        box-sizing: border-box;
        flex: 0 1 auto;
    }

    .products-list .product-badges > span {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        max-width: 100%;
        max-height: 28px;
        padding: 3px 6px !important;
        font-size: 10px !important;
        line-height: 1.15 !important;
        font-weight: 700 !important;
        text-transform: uppercase;
        text-align: center;
        white-space: nowrap !important;
        overflow: hidden;
        text-overflow: ellipsis;
        border-radius: 3px;
    }

    .products-list .product-badges > *:not(:first-child) {
        display: none !important;
    }

    .products-list .product-badges > img {
        height: 24px !important;
        max-height: 24px !important;
        max-width: 100%;
        width: auto !important;
        object-fit: contain;
    }

    /* --- text / buy --- */
    .products-list .product-bottom {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        gap: 8px;
        min-width: 0;
        min-height: 0;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    /* Fixed name-block height so adjacent tiles align from article downward */
    .products-list .product .name {
        flex: none;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 8px;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-size: 12.5px;
        line-height: 1.35;
        /* 3 title lines + gap + article — equal height for all tiles */
        height: calc(1.35em * 3 + 8px + 1.3em);
        min-height: calc(1.35em * 3 + 8px + 1.3em);
        max-height: calc(1.35em * 3 + 8px + 1.3em);
        overflow: hidden;
    }

    .products-list .product .name a,
    .products-list .product .name > :not(.product-code) {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-size: 12.5px;
        line-height: 1.35;
        height: calc(1.35em * 3);
        max-height: calc(1.35em * 3);
        word-break: normal;
        overflow-wrap: break-word;
    }

    .products-list .product .name .product-code {
        display: block;
        flex: none;
        margin: 0;
        padding: 0;
        font-size: 11px;
        font-weight: normal;
        line-height: 1.3;
        height: 1.3em;
        color: #6d6a7e;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .products-list .product .promotions-container {
        flex: none;
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 2px;
        margin: 0;
        padding: 0;
        height: 52px;
        min-height: 52px;
        max-height: 52px;
        overflow: hidden;
        font-size: 11px;
        line-height: 16px;
        list-style: none;
    }

    .products-list .product .promotions-container > li {
        display: block;
        margin: 0;
        padding: 0;
        height: 16px;
        min-height: 16px;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .products-list .product .promotions-container > usk-tooltip,
    .products-list .product .promotions-container > li:nth-of-type(n+4),
    .products-list .product .promotions-container > li:nth-of-type(3) + usk-tooltip,
    .products-list .product .promotions-container > li:nth-of-type(n+4) + * {
        display: none !important;
    }

    .products-list .product .promotions-container span {
        font-size: 11px !important;
        line-height: 16px !important;
    }

    #product-page .image {
        max-width: none;
        width: 100%;
        min-height: 240px;
        max-height: 320px;
        margin-bottom: 0;
        padding: 8px;
    }

    #product-page .image .product-image-badges {
        left: 8px;
        right: 8px;
        bottom: 8px;
        gap: 4px;
        flex-wrap: nowrap;
        overflow: hidden;
    }

    #product-page .image .product-image-badges > span {
        font-size: 10px !important;
        padding: 3px 6px !important;
    }

    #product-page .image .product-image-badges img {
        max-height: 28px;
    }

    #product-page .image .product-image-badges > *:not(:first-child) {
        display: none !important;
    }

    #product-page .info .name {
        font-size: 18px;
    }

    .products-list .product .availability-container {
        flex: none;
        margin: 0;
        min-height: 16px;
        max-height: 16px;
        font-size: 11px;
        line-height: 1.25;
        width: 100%;
        overflow: hidden;
    }

    .products-list .product .availability-container > ul {
        margin: 0;
        padding: 0;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        text-decoration: underline;
        text-decoration-style: dashed;
    }

    .products-list .product .availability-container > ul li {
        display: inline;
    }

    .products-list .product .availability-container > ul li:not(:first-child) {
        display: none;
    }

    .products-list .product .availability-container .incomplete-kit {
        display: none;
    }

    .products-list .product .price-buy-container {
        flex: none;
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
        margin-top: auto;
        width: 100%;
        padding-top: 2px;
    }

    .products-list .product .price {
        font-size: 20px;
        font-weight: 700;
    }

    .products-list .product .old-price-container {
        min-height: 14px;
        font-size: 11px;
    }

    .products-list .product .buy-container {
        width: 100%;
    }

    .products-list .product button.buy {
        width: 100%;
        min-height: 40px;
        line-height: 40px;
        font-size: 14px;
        padding: 0 8px;
    }

    .products-list .product .credit-info {
        display: block;
        width: 100%;
        box-sizing: border-box;
        margin-top: 6px;
        font-size: 11px;
        line-height: 1.3;
        padding: 4px 6px;
    }
}

.slider-viewport {
    position: relative;
    overflow: hidden;
    height: 350px;
    margin-top: 16px;
    background: var(--shell-bg);
    border: 1px solid var(--shell-border);
    border-radius: var(--shell-radius-lg);
    box-shadow: 0 4px 20px rgba(34, 60, 80, 0.08);
}

@media screen and (max-width: 860px) {
    .slider-viewport {
        height: 180px;
        margin-top: 12px;
        border-radius: var(--shell-radius-md);
    }
}

.slider-viewport .slider-container {
    position: relative;
    height: 100%;
    top: 0;
    left: 0;
    white-space: nowrap;
}

.slider-viewport .slider-container .slider-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 550px;
    height: 340px;
    text-align: center;
    box-sizing: border-box;
}

.slider-viewport .slider-container .slider-item img {
    border-radius: var(--shell-radius-sm);
    box-shadow: 0 2px 12px rgba(34, 60, 80, 0.1);
}

@media screen and (max-width: 860px) {
    .slider-viewport .slider-container .slider-item {
        width: 300px;
        height: 180px;
    }
}

.load-icon {
    display: inline-block;
    background-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="30" height="30"><g><path d="m256 512c140.957031 0 256-115.046875 256-256 0-140.957031-115.050781-256-256-256-140.960938 0-256 115.050781-256 256 0 140.960938 115.050781 256 256 256zm0-482c124.617188 0 226 101.382812 226 226s-101.382812 226-226 226-226-101.382812-226-226 101.382812-226 226-226zm0 0"/><path d="m256 301c24.8125 0 45-20.1875 45-45s-20.1875-45-45-45-45 20.1875-45 45 20.1875 45 45 45zm0-60c8.269531 0 15 6.730469 15 15s-6.730469 15-15 15-15-6.730469-15-15 6.730469-15 15-15zm0 0"/><path d="m256 421c92.042969 0 165-74.660156 165-165 0-10.175781-1.78125-27.273438-1.957031-28-9.554688-39.6875-20.238281-63.667969-53.042969-95.117188-13.214844-12.667968-42.195312-29.050781-56-33.050781-18.289062-5.296875-31.894531-8.832031-54-8.832031-90.953125 0-165 73.5625-165 165 0 91.179688 73.988281 165 165 165zm-19.992188-31.46875 14.261719-28.53125h11.460938l14.265625 28.53125c-13.183594 1.953125-26.808594 1.953125-39.988282 0zm125.632813-49.457031-17.570313-26.613281 5.726563-9.921876 31.867187 1.910157c-4.902343 12.460937-11.644531 24.121093-20.023437 34.625zm20.023437-133.523438-31.867187 1.910157-5.726563-9.921876 17.570313-26.613281c8.378906 10.503907 15.121094 22.164063 20.023437 34.625zm-105.671874-84.082031-14.261719 28.53125h-11.460938l-14.265625-28.53125c13.183594-1.953125 26.808594-1.953125 39.988282 0zm-125.632813 49.457031 17.574219 26.613281-5.730469 9.921876-31.867187-1.910157c4.902343-12.460937 11.644531-24.121093 20.023437-34.625zm-29.359375 84.074219c0-6.667969.492188-13.316406 1.457031-19.871094l56.453125 3.390625 24.273438-42.039062-31.152344-47.179688c10.453125-8.3125 22.050781-15.011719 34.402344-19.894531l25.296875 50.59375h48.539062l25.300781-50.601562c12.355469 4.886718 23.960938 11.613281 34.394532 19.90625l-31.148438 47.175781 24.269532 42.039062 56.457031-3.390625c.964843 6.554688 1.457031 13.199219 1.457031 19.871094s-.492188 13.316406-1.460938 19.871094l-56.449218-3.390625-24.273438 42.039062 31.148438 47.175781c-10.457032 8.324219-22.042969 15.027344-34.394532 19.902344l-25.300781-50.597656h-48.539062l-25.300781 50.597656c-12.367188-4.886718-23.964844-11.601562-34.398438-19.898437l31.152344-47.179688-24.269532-42.039062-56.457031 3.390625c-.964843-6.554688-1.457031-13.203125-1.457031-19.871094zm41.203125 47.539062 5.730469 9.921876-17.574219 26.613281c-8.378906-10.503907-15.121094-22.164063-20.023437-34.625zm0 0"/><animateTransform attributeName="transform" attributeType="XML" type="rotate" from="0 256 256" to="360 256 256" dur="2s" repeatCount="indefinite"/></g></svg>');
    background-repeat: no-repeat;
    background-position-x: 50%;
    background-position-y: 50%;
    min-width: 30px;
    min-height: 30px;
}

.load-icon-2 {
    display: inline-block;
    background-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 20 20"><g><path d="M2.083,9H0.062H0v5l1.481-1.361C2.932,14.673,5.311,16,8,16c4.08,0,7.446-3.054,7.938-7h-2.021 c-0.476,2.838-2.944,5-5.917,5c-2.106,0-3.96-1.086-5.03-2.729L5.441,9H2.083z"/><path d="M8,0C3.92,0,0.554,3.054,0.062,7h2.021C2.559,4.162,5.027,2,8,2c2.169,0,4.07,1.151,5.124,2.876 L11,7h2h0.917h2.021H16V2l-1.432,1.432C13.123,1.357,10.72,0,8,0z"/><animateTransform attributeName="transform" attributeType="XML" type="rotate" from="0 8 8" to="360 8 8" dur="2s" repeatCount="indefinite"/></g></svg>');
    background-repeat: no-repeat;
    background-position-x: 50%;
    background-position-y: 50%;
}

/* cards */

.cards {
    display: flex;
    flex-wrap: wrap;
    margin: -10px;
}

@media screen and (max-width: 860px) {
    .cards {
        flex-direction: column;
    }
}

.card {
    flex-basis: calc(50% - 20px);
    border: 1px solid #d8d8d8;
    box-sizing: border-box;
    margin: 10px;
}

.card.card-long {
    flex-basis: 100%;
}

/* wholesale contractor panel */

.opt-contractor-panel {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    align-content: center;
    height: 20px;
    background-color: white;
    border-bottom: 2px solid #ff5607;
    box-shadow: 0px 2px 5px 0px rgb(50 50 50 / 34%);
    padding-left: 20px;
}

.opt-contractor-panel-br {
    height: 22px;
    order: -100;
}
