:root{
    --checkbox-size: 18px;
    --checkbox-border: #E3E3E3;
    --checkbox-hover: #0066ff;
    --checkbox-fill: #111;
}

.shop-container input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: var(--checkbox-size);
    height: var(--checkbox-size);
    border: 1.5px solid var(--checkbox-border);
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    vertical-align: middle;
    transition: border-color 0.15s;
    margin: 0;
    position: relative;
    outline: none;
}
.shop-container input[type="checkbox"]:hover {
    border-color: var(--checkbox-hover);
}
.shop-container input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 0px; top: 0px;
    width: 15px; height: 14px;
    background-image: url('data:image/svg+xml;utf8,<svg fill="none" stroke="%23111" stroke-width="2.7" stroke-linecap="butt" stroke-linejoin="miter" viewBox="0 0 16 14" xmlns="http://www.w3.org/2000/svg"><path d="M2 8.5 L6.2 12.3 Q7.3 13.3 8.6 11.8 L14.5 3.5"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
}


/* label */
.shop-filter-list label {
    font-family: "Roboto", Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #232323;
    letter-spacing: 0.3px;
    line-height: 1;
    display: flex;
    align-items: center;
    user-select: none;
    cursor: pointer;
}
.shop-filter-list li {
    margin-bottom: 16px;
}

.cat-name {
    user-select: none;
    margin-left: 16px;
    font-family: Roboto;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 1px;

}



/*------------МАГАЗИН---------------*/
.shop-container {
    max-width: var(--container-desktop);
    margin: 0 auto;
    width: 90vw;
}
.shop-breadcrumbs {

    width: 100vw;
    min-width: 100vw;
    background: #F8F9FA;
    height: 82px;
    display: flex;
    align-items: center;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    z-index: 1;
    /* Чтобы не было скролла по горизонтали: */
    box-sizing: border-box;
    overflow-x: hidden;
}

/* Контейнер внутри (ограничение по ширине) */
.shop-breadcrumbs nav {
    width: min(calc(100vw - 100px), 1400px);
    margin: 0 auto;
    padding: 0 0px;
    font-family: 'Roboto';
    font-weight: 400;
    font-size: 16px;
    letter-spacing: 1px;
    color: #9A9A9A;
    display: flex;
    align-items: center;
    height: 100%;
    color: #222;
}

.shop-breadcrumbs nav a {
    color: #968484;
    text-decoration: none;
    transition: color .15s;
}
.shop-breadcrumbs nav a:hover {
    text-decoration: underline;
}

.shop-main {
    display: flex;
    align-items: flex-start;
    margin-top: 128px;
}
.shop-sidebar {
    width: 300px;
    flex-shrink: 0;
}
/* ========== FILTERS (SIDEBAR) ========== */

/* Заголовки блоков («Categories», «Filter by price» …) */
.shop-filter-title{
    font-family: 'ZhernovBold';
    color: #1A1A1A;
    font-size: 24px;
    line-height: 110%;
    margin-bottom: 16px;
    position: relative;
    display: inline-block;
}

.shop-filter-title::after {
    content: '';
    display: block;
    width: 50px;      /* длина полоски */
    height: 1px;      /* толщина */
    background: #181818;
    margin-top: 16px; /* отступ сверху до полоски */
    border-radius: 1px;
}

/* Списки чекбоксов / радиокнопок */
.shop-filter-list{
    list-style:none;
    margin: 16px 0 48px;
    padding:0;
}

.price-range .noUi-target {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    margin: 0;
}

.price-range .noUi-base,
.price-range .noUi-connects {
    border-radius: 0 !important;
    overflow: visible;
}

.noUi-base,.noUi-connects {
    width: 280px;
}

.price-range .noUi-connect,
.price-range .noUi-background {
    background: #111 !important;
    height: 4px !important;
    top: -2px;
    left: 5px;
    transform: translateY(-50%);
    border-radius: 0 !important;
}

.price-range .noUi-handle {
    width: 16px !important;
    height: 16px !important;
    border: none !important;
    background: url('/images/dot_filter.svg') center center/contain no-repeat !important;
    box-shadow: none !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    cursor: pointer;
    z-index: 1;
    padding: 0;
    outline: none !important;
}
.price-range .noUi-handle:before,
.price-range .noUi-handle:after {
    display: none !important;
}
.price-range .noUi-handle-lower,
.price-range .noUi-handle-upper {
    box-shadow: none !important;
}
.price-range {
    position: relative;
    margin: 24px 0 72px;
    height: 32px;
    background: none;
}
#price-value {
    margin-top: 12px;
    font-size: 16px;
    letter-spacing: 1px;
}

.shop-content {
    display: flex;
    flex-direction: column;
    margin-left: 64px;
    flex-shrink: 1;
    width: 100%;
}

.shop-topbar .choices,
.shop-topbar .choices__inner,
.shop-topbar .choices__list--dropdown {
    min-width: 208px;
    max-width: 100%;
    background: white;
    border: 1px solid transparent;
    z-index: 10;
    justify-content: center;
    align-items: center;
    text-align: center;
    //height: 56px;
}
.shop-topbar .choices {
    border: 1px solid #1A1A1A;
    display: flex;
}

.shop-topbar .choices__inner {
    position: relative;
    padding-right: 32px;
}

/* Рисуем стрелку через ::after */
.shop-topbar .choices__inner::after {
    content: "";
    display: block;
    position: absolute;
    right: 18px;
    top: 50%;
    width: 16px;
    height: 7px;
    padding-right: 32px;
    pointer-events: none;
    transform: translateY(-50%) rotate(0deg);
    transition: transform 0.22s;
    background: url("data:image/svg+xml;utf8,<svg width='16' height='7' viewBox='0 0 16 7' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M15 1L8.58124 5.58483C8.23354 5.83319 7.76646 5.83319 7.41876 5.58483L1 1' stroke='%231A1A1A' stroke-width='1.4' stroke-linecap='round'/></svg>") center center/contain no-repeat;
}

/* При открытии дропа — поворачиваем стрелку */
.shop-topbar .choices.is-open .choices__inner::after {
    transform: translateY(-50%) rotate(180deg);
}


.shop-topbar .choices__inner {
    position: relative;
    /* если нужно центрировать текст */
    justify-content: center;
}


.choices__item--choice {
    min-width: 200px;
    min-height: 32px;
    font-size: 14px;
    display: flex;
    align-items: center;
}



/* Кастомная стрелка */
.shop-topbar {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 32px;
}
.shop-topbar select {
    background-image: url("/images/dropdown.svg");
    background-repeat: no-repeat;
    background-position: right 18px center;
    background-size: 16px 16px;
}

/* ---------- КОНТЕЙНЕР ---------- */
.shop-grid {
    display: flex;
    flex-wrap: wrap;     /* перенос строк */
    align-items: stretch;
    justify-content: space-between;
    flex-shrink: 1;
    /* никаких width:100% и отрицательных margin! */
}

/* ===== КАРТОЧКИ: базово 3 колонки ===== */
.shop-item{
    flex:0 0 324px;      /* фикс-ширина, не сжимается */
    width:324px;         /* fallback для старых браузеров */
    margin:0 0 32px 0;/* справа 16, вниз 32, слева 0 */
    box-sizing:border-box;

    /* ваши внутренние стили ↓ */
    background:#fff;
    border:none;
    overflow:hidden;
    position:relative;
    display:flex;
    flex-direction:column;
    transition:border .12s;
}

/* правая карточка в ряду из 3-х – без правого отступа */
.shop-item:nth-child(3n){margin-right:0;}


@media (max-width: 1599px) and (min-width: 680px) {
    .shop-item {
        flex: 0 0 48%;    /* 2 карточки в ряд (с учетом отступа между ними) */
        width: 48%;       /* fallback для IE/старых браузеров */
        margin-right: 4%; /* между колонками (по желанию — подбери под свой дизайн) */
    }
    /* Левая карточка — без левого margin, правая — без правого */
    .shop-item:nth-child(2n)   { margin-right: 0; }
    .shop-item:nth-child(3n)   { margin-right: 0; } /* вернуть дефолт для 3-й */
}



/* ===== 1 колонка (телефон) ===== */
@media(max-width:679px){
    .shop-item{
        flex:0 0 100%;
        width:100%;
        margin:0 0 32px;   /* только вниз */
    }
}




.shop-item:hover {
    border: none;
    box-sizing: border-box;
    z-index: 2;
}
.shop-thumb {
    width: 100%;
    aspect-ratio: 1/1;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    flex-shrink: 0;
    border: 2px solid white;
    cursor: pointer;
    /* width: 324px; height: 324px; — убраны, теперь резиново */
}
.shop-item:hover .shop-thumb {
    border: 2px solid #9D9981;
}
.shop-item.list:hover .shop-thumb {
    border: 0;
}
.shop-item.list .shop-menu > button:first-child {
    display: none;
}


.shop-label {
    position: absolute;
    left: 14px;
    top: 14px;
    background: #111;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    border-radius: 0;
    padding: 7px 17px;
    z-index: 3;
    letter-spacing: 1px;
}
/* GRID: чёрная плашка поверх рамки */
.shop-item:not(.list) .shop-menu {
    position: absolute;
    left: -2px;           /* на толщину рамки */
    right: -2px;          /* накрыть правую границу */
    bottom: -2px;         /* накрыть нижнюю границу */
    height: 56px;
    background: #111;
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 38px;
    padding: 0 22px;
    opacity: 0;
    transition: opacity .15s;
    z-index: 5;           /* выше картинки и рамки */
}

/* показываем плашку при ховере */
.shop-item:hover .shop-menu {
    opacity: 1;
}

/* чтобы уровни были правильные */
.shop-thumb { position: relative; z-index: 1; }
.shop-thumb-bullets { z-index: 3; }
.shop-badges { z-index: 4; }

/* LIST остаётся со своими размерами */
.shop-item.list .shop-menu {
    position: absolute;
    left: auto;
    bottom: auto;
    width: 300px;
    height: 250px;
    background: #111;
    display: flex;
    align-items: center;
    gap: 38px;
    padding-left: 0;
    z-index: 5;
    opacity: 0;
    transition: opacity .15s;
}

.shop-item:hover .shop-menu { opacity: 1; }
.shop-menu button,
.shop-menu a {
    background: none;
    border: none;
    color: #fff;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    transition: filter .1s;
}
.shop-menu button:hover,
.shop-menu a:hover { filter: brightness(1.4);}
.shop-menu svg {
    width: 28px; height: 28px;
    display: block;
}
.shop-info {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 0 0 0;
    height: 250px;
}
.shop-title {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #9D9981;
    line-height: 140%;
    letter-spacing: 1px;
    margin-bottom: 8px;
    margin-top: 0;
}
.shop-prices {
    font-family: 'ZhernovBold';
    font-weight: 700;
    font-size: 24px;
    color: #232323;
    display: flex;
    align-items: center;
    margin-bottom: 0;
    line-height: 1.1;
}
.shop-price-old {
    color: #BFBBA0;
    font-family: 'ZhernovBold';
    font-size: 16px;
    text-decoration: line-through;
    margin-left: 8px;
}








/* === ГАЛЕРЕЯ ТОВАРА === */
.shop-product-gallery {
    width: 668px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
    position: relative;
}

.shop-product-gallery-main {
    width: 668px;
    max-width: 100%;
    aspect-ratio: 1/1;
    background: #fff no-repeat center center / contain;
    border-radius: 0;
    //box-shadow: 0 2px 8px #f2f2f2;
    position: relative;
    min-height: 320px;
    overflow: visible;
}

.shop-product-gallery-open {
    position: absolute;
    top: 0;
    right: 0;
    width: 54px;
    height: 54px;
    padding: 16px;
    background: rgba(255,255,255,0.7);
    border: none;
    border-radius: 0 0 0 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 3;
    transition: background .12s;
}
.shop-product-gallery-open:hover { background: #fff; }

.shop-product-thumbs-row {
    margin-top: 20px;
    display: flex;
    gap: 24px;
}

.shop-product-thumb {
    height: 180px;
    aspect-ratio: 1/1;
    min-width: 0;
    background: #fff no-repeat center center / contain;
    border-radius: 0;
    box-shadow: 0 1px 4px #eee;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border .12s;
}
.shop-product-thumb:hover {
    border: 2px solid #9D9981;
}
@media (max-width: 900px) {
    .shop-product-gallery,
    .shop-product-gallery-main {
        width: 100%;
        max-width: 100%;
    }
    .shop-product-thumbs-row {
        flex-wrap: wrap;
    }
    .shop-product-thumb {
        height: 120px;
    }
}

/* === MODAL ДЛЯ КАРТИНКИ === */
.shop-modal {
    position: fixed;
    z-index: 99;
    left: 0; top: 0; right: 0; bottom: 0;
    width: 100vw; height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(20,20,22,0.82);
    transition: opacity 0.18s;
}
.shop-modal-backdrop {
    position: absolute;
    left: 0; top: 0; right: 0; bottom: 0;
    width: 100vw; height: 100vh;
    background: rgba(20,20,22,0.82);
    z-index: 1;
}
.shop-modal img {
    max-width: 90vw;
    max-height: 90vh;
    border-radius: 12px;
    box-shadow: 0 2px 24px #0008;
    position: relative;
    z-index: 2;
    background: #fff;
    object-fit: contain;
    margin: 0 auto;
    display: block;
}
.shop-modal-close {
    position: absolute;
    top: 24px; right: 36px;
    font-size: 44px;
    color: #fff;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 3;
    transition: color .12s;
}
.shop-modal-close:hover { color: #BFBBA0; }

/* === Прочее для интеграции === */
.shop-product-info {
    flex: 1;
    min-width: 320px;
    margin-left: 64px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.shop-product-title {
    font-family: 'ZhernovBold', serif;
    font-size: 48px;
    line-height: 1.1;
    margin: 0 0 16px 0;
}
.shop-product-rating {
    font-size: 22px;
    color: #111;
    margin-bottom: 8px;
}
.shop-product-rating span {
    font-size: 16px;
    color: #888;
}
.shop-product-prices {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 8px;
}
.shop-product-price {
    font-family: 'ZhernovBold';
    font-size: 28px;
    color: #222;
}
.shop-price-old {
    font-size: 22px;
    color: #BFBBA0;
    text-decoration: line-through;
}
.shop-product-description {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    color: #444;
    margin-bottom: 12px;
}

.shop-product-gallery-main {
    position: relative;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    transition: box-shadow .25s, transform .25s;
}
.shop-product-gallery-main .shop-product-gallery-zoom {
    position: absolute;
    top: 0; right: 0;
    width: 90px; height: 54px;
    padding: 16px;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    transition: background .12s, opacity .15s;
}
.shop-product-gallery-main .shop-product-gallery-zoom:hover svg {
    stroke: #9D9981;
}
.shop-product-gallery-main.zoomed {
    transform: scale(1.38);
    box-shadow: 0 12px 48px #0002, 0 2px 8px #f2f2f2;
    z-index: 10;
}
.shop-product-thumbs-row {
    margin-top: 20px;
    display: flex;
    gap: 24px;
}
.shop-product-thumb {
    height: 180px;
    aspect-ratio: 1/1;
    min-width: 0;
    background: #fff no-repeat center center / contain;
    border-radius: 0;
    box-shadow: 0 1px 4px #eee;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border .12s;
}
.shop-product-thumb:hover {
    border: 2px solid #9D9981;
}

/* ——— галерея ——— */
/* галерея */
.shop-product-gallery-main{
    position:relative;
    width:668px;max-width:100%;aspect-ratio:1/1;
    overflow:hidden;
}
#main-img{width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none;}
.shop-product-gallery-zoom{
    position:absolute;top:0;right:0;width:54px;height:54px;padding:16px;
    background:transparent;border:none;cursor:pointer;z-index:3;display:flex;align-items:center;justify-content:center;
}
.shop-magnifier{
    display:none;position:absolute;pointer-events:none;z-index:4;
    width:300px;height:300px;border-radius:50%;border:2px solid #aaa;box-shadow:0 2px 16px #0002;overflow:hidden;
    background:#fff;
}
.shop-magnifier img{position:absolute;left:0;top:0;pointer-events:none;user-select:none;}
.shop-product-thumb{
    width:180px;height:180px;background-size:cover;background-position:center;margin-right:24px;cursor:pointer;border:2px solid transparent;box-shadow:0 1px 4px #eee;
}
.shop-product-thumb:last-child{margin-right:0;}
.shop-product-thumb:hover{border-color:#9D9981;}
.shop-product-thumbs-row{margin-top:20px;display:flex;flex-wrap:wrap;}

/* —— обёртка и стрелки —— */
.thumbs-wrapper{
    position:relative;
    margin-top:20px;
}
.thumbs-track{
    display:flex;
    gap:24px;
    overflow-x:auto;           /* скролл для touch-устройств */
    scroll-behavior:smooth;
    padding:2px;               /* чуть-чуть, чтобы тень не обрезалось */
}
.shop-product-thumb{
    flex:0 0 180px;
    height:180px;
    background-size:cover;
    background-position:center;
    border:2px solid transparent;
    box-shadow:0 1px 4px #eee;
    cursor:pointer;
}
.shop-product-thumb:hover{border-color:#9D9981;}

.thumb-arrow{
    position:absolute;top:50%;transform:translateY(-50%);
    width:36px;height:36px;border:none;border-radius:50%;
    background:#fff url("data:image/svg+xml;utf8,\
        <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 28' fill='none' stroke='%231A1A1A' stroke-width='3'>\
        <polyline points='12,2 4,14 12,26' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px no-repeat;
    box-shadow:0 1px 6px #0002;
    cursor:pointer;
    opacity:0;pointer-events:none;transition:opacity .2s;
}
.thumb-next{
    right:-18px;
    transform:translateY(-50%) scaleX(-1); /* разворот стрелки */
}
.thumb-prev{left:-18px;}

.thumbs-wrapper.show-arrows .thumb-arrow{opacity:1;pointer-events:auto;}

@media(max-width:699px){.thumb-arrow{display:none;}} /* стрелки не нужны на очень узких */

/* обёртка строго шириной 668 px (= ширина большого фото) */
.thumbs-wrap{
    position:relative;
    width:668px;          /* !!! главное ограничение */
    max-width:100%;
    margin-top:20px;
    overflow:hidden;      /* прячем лишнее */
}

/* дорожка */
.thumbs-track{
    display:flex;
    gap:24px;
    transition:transform .3s;
}

/* миниатюра */
.thumb{
    flex:0 0 180px;
    height:180px;
    background-size:cover;
    background-position:center;
    border:2px solid transparent;
    //box-shadow:0 1px 4px #eee;
    cursor:pointer;
}
.thumb:hover{

}

/* стрелки */
.thumb-arrow{
    position:absolute;top:50%;transform:translateY(-50%);
    width:40px;height:40px;border:none;border-radius:50%;
    background:#fff url("data:image/svg+xml;utf8,\
      <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 28' stroke='%231A1A1A' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'>\
      <polyline points='12,2 4,14 12,26'/></svg>") center/12px no-repeat;
    box-shadow:0 1px 6px #0003;cursor:pointer;opacity:0;pointer-events:none;
    transition:opacity .15s;
}
.thumb-prev {left:-20px;}
.thumb-next {right:-20px;transform:translateY(-50%) scaleX(-1);}

.thumbs-wrap.show-arrows .thumb-arrow{opacity:1;pointer-events:auto;}

@media(max-width:700px){
    .thumb-arrow{display:none;}      /* на телефонах свайп/скролл */
}



/* --- ГАЛЕРЕЯ --- */
.shop-product-gallery-main{
    position:relative;width:668px;max-width:100%;aspect-ratio:1/1;overflow:hidden;
}
#main-img{width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none;}

.shop-product-gallery-zoom{
    position:absolute;top:0;right:0;width:54px;height:54px;padding:16px;
    background:transparent;border:none;cursor:pointer;z-index:3;display:flex;align-items:center;justify-content:center;
}
.shop-magnifier{
    display:none;position:absolute;pointer-events:none;z-index:4;
    width:300px;height:300px;border-radius:50%;overflow:hidden;
    border:2px solid #aaa;background:#fff;box-shadow:0 2px 16px #0002;
}
.shop-magnifier img{position:absolute;left:0;top:0;user-select:none;pointer-events:none;}

/* --- миниатюры ---- */
.thumbs-wrap{position:relative;width:668px;max-width:100%;margin-top:20px;overflow:hidden;}
.thumbs-track{display:flex;gap:24px;transition:transform .3s;}
.thumb{
    flex:0 0 180px;
    height:180px;
    background-size:cover;
    background-position:center;
    border:2px solid white;
    //box-shadow:0 1px 4px #eee;
    cursor:pointer;
}
.thumb:hover{border-color:#9D9981;}

/* стрелки */
.thumb-arrow{
    position:absolute;top:50%;transform:translateY(-50%);
    width:40px;height:40px;border:none;border-radius:50%;
    background:#fff url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 28' stroke='%231A1A1A' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'><polyline points='12,2 4,14 12,26'/></svg>") center/12px no-repeat;
    box-shadow:0 1px 6px #0003;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s;
}
.thumb-prev{left:-20px;}
.thumb-next{right:-20px;transform:translateY(-50%) scaleX(-1);}
.thumbs-wrap.show-arrows .thumb-arrow{opacity:1;pointer-events:auto;}

@media(max-width:700px){.thumb-arrow{display:none;}}

/* --- инфо / цены (коротко) --- */
.shop-product-info{flex:1;min-width:320px;margin-left:64px;}
.shop-product-title{font-family:'ZhernovBold',serif;font-size:48px;margin:0 0 16px;}
.shop-product-prices{display:flex;gap:16px;margin-bottom:12px;}
.shop-product-price{font-family:'ZhernovBold';font-size:28px;}
.shop-price-old{font-size:22px;color:#BFBBA0;text-decoration:line-through;}
.shop-product-description{font-size:16px;line-height:1.5;color:#444;}

/* прячем системный скролл у трека */
.thumbs-track{
    scrollbar-width:none;           /* Firefox */
}
.thumbs-track::-webkit-scrollbar{   /* Chrome / Edge / Safari */
    display:none;
}
.thumbs-wrap{overflow:visible;}     /* вместо hidden */






/*----------------------ЛИСТ----------------------*/
.shop-top-right {
    display: flex;
}
/* квадратная кнопка */
.view-toggle{
    width:56px;height:56px;
    border:1px solid #1A1A1A;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-right:24px;
    cursor:pointer;
    user-select:none;
    background-image: url("/images/linesorting.svg");
    background-repeat: no-repeat;
    background-position: center;
}

.shop-grid.linesorting {
    display: flex;
    flex-direction:column;
}

.shop-item.list {
    display: flex;
    flex-direction: row;
    width: 100%;
}


.shop-item.list .shop-info {
    display: flex;
    flex-direction: column;
    margin-left: 32px;
    padding-top: 24px;
    padding-bottom: 24px;
    padding-right: 24px;
    height: 250px;
}

.shop-item.list .shop-info .shop-title {
    font-family: 'ZhernovBold';
    font-size: 24px;
}

.shop-item.list .shop-thumb {
    width: 300px;
    height: 250px;
}

/* по-умолчанию прячем описание и действия */
.shop-item .shop-description,
.shop-item .shop-actions   { display:none; }

/* показываем только когда карточка в режиме списка */
.shop-item.list .shop-description,
.shop-item.list .shop-actions { display:flex; }

.shop-actions {
    display: flex;
    height: 56px;
    align-items: center;
}

.shop-actions .qty-box {
    width: 106px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    border: 1px solid #9D9981;
    cursor: default;
}
.shop-actions .qty-box input {
    width: 20px;
    font-weight: bold;
    border: 0;
    margin-left: 8px;
    margin-right: 4px;
}
.qty-box .qty-minus  {
    background: transparent;
    border: 0;
    font-size: 24px;
    cursor: pointer;
}
.qty-box .qty-plus  {
    background: transparent;
    border: 0;
    font-size: 24px;
    cursor: pointer;
}

.shop-title-link{
    color:inherit;text-decoration:none;
}
.shop-title-link:hover{ text-decoration:underline; }

.shop-item.list .shop-description { cursor: default; }
.shop-item.list .shop-prices { cursor: default; }

.shop-description {
    height: 100%;
    align-items: center;
}

.add-cart-btn {
    display: flex;
    width: 204px;
    height: 56px;
    justify-content: center;
    align-items: center;
    background: white;
    margin-left: 24px;
    font-family: 'Roboto';
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 2px;
    cursor: pointer;
    border: 1px solid #111;
}

/* === Только для режима списка === */
.shop-item.list .shop-menu {
    justify-content: center;
    align-items: center;
    opacity: 0;
    pointer-events: auto;
    transition: opacity .15s;
    position: absolute;
    left: auto; bottom: auto;
    width: 300px;
    height: 250px;
    background: #111;
    display: flex;
    align-items: center;
    gap: 38px;
    padding-left: 0px;
    z-index: 2;
}




.shop-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 32px 0 0 0;
}
.shop-pagination-list {
    display: flex;
    gap: 16px;
}
.shop-pagination-btn {
    width: 44px; height: 44px;
    background: #fff;
    border: 1px solid #1A1A1A;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 14px;
    color: #181818;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .12s, color .12s, border-color .12s;
    border-radius: 0;
    outline: none;
}
.shop-pagination-btn.active,
.shop-pagination-btn:focus {
    background: #181818;
    color: #fff;
    border-color: #181818;
}
.shop-pagination-btn.shop-pagination-next {
    font-size: 32px;
    padding-top: 1px;
}
.shop-pagination-gap {
    display: flex;
    align-items: center;
    font-size: 32px;
    color: #AAA;
    user-select: none;
    padding: 0 6px;
}
.shop-thumb-bullets {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    position: absolute;
    left: 0; right: 0; bottom: 14px;
    z-index: 2;
}
.shop-thumb-bullet {
    width: 6px; height: 6px;
    border: 2px solid #BFBBA0;
    border-radius: 50%;
    background: #fff;
    opacity: 0.6;
    transition: background .15s, opacity .15s, border .15s;
    cursor: default;
}
.shop-thumb-bullet.active {
    background: #111;
    border: 2px solid #9D9981;
    opacity: 1;
}



.shop-thumb {
    position: relative; /* уже есть */
    z-index: 1;
}
.shop-menu {
    position: absolute;
    left: 0; bottom: 0; /* как было — если не менял */
    z-index: 11 !important; /* <-- Сделать поверх */
}
.shop-thumb-bullets {
    position: absolute;
    z-index: 4;   /* меньше, чем у menu */
}
.shop-thumb [data-slide-img] {
    z-index: 2;
    position: absolute;
    left: 0; top: 0; width: 100%; height: 100%;
    object-fit: cover;
    display: none;
}
.shop-thumb [data-slide-img]:first-child {
    display: block;
}

.shop-item.list .shop-thumb {
    overflow: hidden;
}

.shop-item.list .shop-thumb {
    border: 2px solid white;
}

.shop-item.list:hover .shop-thumb {
    border: 2px solid white; /* или тот же цвет, что всегда! */
}

.item-actions-box {
    display: flex;
}




.add-cart-btn.item {
    background: #111;
    color: #fff !important;
    border: 1px solid #111; /* Или задай нужный цвет, если был другой */
    transition: background 0.2s, color 0.2s;
    display: flex;
    align-items: center;
}

.add-cart-btn.item img {
    filter: invert(1) brightness(2); /* инвертирует цвета иконки */
}

/* При наведении (можно по вкусу) */
.add-cart-btn.item:hover {
    background: #fff;
    color: #111 !important;
}

.add-cart-btn.item:hover img {
    filter: invert(0) brightness(1);
}


.wishlist-btn-item {
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    color: #333;
    font-size: 15px;
    gap: 7px;
    padding: 7px 13px;
    transition: background 0.15s;
    border-radius: 5px;
}
.wishlist-btn-item:hover {
    background: transparent;
}
.wishlist-icon {
    transition: filter 0.2s;
}
.wishlist-btn-item.active .wishlist-text {
    color: #E74C3C;
    font-weight: bold;
}
.wishlist-off {
    filter: brightness(0) invert(0); /* Только off фильтруем */
}
.wishlist-on {
    filter: none; /* On — оригинал */
}
.whishlist-text {
    font-family: 'Roboto';
    font-size: 14px;
}


#back-to-top {
    transition: background 0.4s, box-shadow 0.4s;
    /* другие твои стили */
}
#back-to-top.flash {
    background: orange !important;
    box-shadow: 0 0 14px 5px orange;
}


.shop-product-materials img {
    filter: brightness(0) saturate(100%);
}

.qty-input {

}


.shop-product-meta {
    font-family: 'Roboto';
    color: #968484;
    font-size: 14px;
    line-height: 1.7;
    margin-top: 28px;
    font-weight: 300;
}
.shop-product-meta span {
    font-family: 'Roboto';
    color: #968484;
    font-weight: 300;
    margin-right: 4px;
    font-size: 14px;
    line-height: 1.7;
}


.shop-product-tabs {
    margin: 64px 0 128px 0;
}
.shop-tabs-nav {
    display: flex;
    gap: 40px;
    font-size: 16px;
    font-family: inherit;
    border-bottom: 1px solid #9D9981;
    margin-bottom: 24px;
}
.shop-tabs-nav .tab-btn {
    background: none;
    border: none;
    outline: none;
    cursor: pointer;
    padding: 0 8px 14px 8px;
    color: #a9a29d;
    font-size: 16px;
    border-bottom: none;
    transition: color .2s, border-bottom .2s;
}
.shop-tabs-nav .tab-btn:first-child {
    padding-left: 0;
}

.shop-tabs-nav .tab-btn.active {
    color: #1a1a1a;
    border-bottom: 1px solid transparent;
}
.tab-content {
    font-size: 16px;
    color: #292929;
}
.shop-tab-empty {
    color: #b2a9a9;
}
.reviews-flex {
    display: flex;
    flex-wrap: wrap;
    gap: 44px;
}
.reviews-list {
    flex: 1 1 440px;
    max-width: 816px;
}
.review-item {
    margin-bottom: 32px;
}
.review-author {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 4px;
}
.review-user {
    font-weight: 400;
    font-size: 16px;
}
.review-verified {
    width: 24px;
    height: 24px;
}
.review-stars {
    margin: 7px 0 7px 0;
}
.star-svg {
    width: 16px;
    vertical-align: middle;
}
.review-text {
    font-weight: 300;
    margin-top: 3px;
    color: #9D9981;
    font-size: 14px;
}
.reviews-video {
    flex: 1 1 420px;
    max-width: 630px;
}
@media (max-width: 1000px) {
    .reviews-flex {
        flex-direction: column;
    }
    .reviews-list, .reviews-video {
        max-width: 100%;
    }
}







/* === Контейнер корзины === */
.shop-container {
    max-width: 1400px;
    margin: 40px auto 80px auto;
    font-family: inherit;
}

/* === Заголовок страницы === */
.cart-title {
    font-size: 2em;
    font-weight: 700;
    margin: 0 0 28px 0;
}

/* === Обёртка таблицы корзины === */
.cart-table-wrap {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    overflow: hidden;
}

/* === Таблица товаров === */
.cart-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.cart-table thead tr {
    background: #faf9f6;
}

.cart-table th, .cart-table td {
    padding: 18px 16px;
    text-align: left;
}

.cart-table th {
    font-weight: 600;
    color: #111;
    border-bottom: 1.5px solid #ddd;
}

.cart-table td {
    vertical-align: middle;
    border-bottom: 1px solid #eee;
}

/* === Картинка товара === */
.cart-thumb {
    border-radius: 4px;
    box-shadow: 0 0 8px #eee;
    margin-right: 12px;
}

/* === Информация о товаре === */
.cart-product-info {
    display: flex;
    gap: 14px;
    align-items: center;
}

.cart-product-title {
    font-weight: 500;
}

.cart-product-meta {
    color: #888;
    font-size: 14px;
}

/* === Цена и сумма === */
.cart-price, .cart-subtotal {
    font-weight: 500;
    color: #222;
}

/* === Количество === */
.cart-qty-box {
    display: flex;
    align-items: center;
    gap: 4px;
}

.cart-qty-input {
    width: 38px;
    text-align: center;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 17px;
    padding: 3px 0;
}

.qty-minus, .qty-plus {
    width: 28px;
    height: 28px;
    background: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1.3em;
    cursor: pointer;
    line-height: 1;
    transition: background 0.15s, border-color 0.15s;
}

.qty-minus:hover, .qty-plus:hover {
    background: #f5f5f5;
    border-color: #bbb;
}

/* === Кнопка удаления === */
.cart-remove {
    background: none;
    border: none;
    color: #777;
    font-size: 2em;
    cursor: pointer;
    transition: color 0.2s;
}

.cart-remove:hover {
    color: #d9534f;
}

/* === Строка с купоном и обновлением корзины === */
.cart-coupon-row {
    display: flex;
    align-items: center;
    border-top: 1.5px solid #ddd;
    padding: 18px 0 18px 0;
    gap: 12px;
}

.cart-coupon-input {
    width: 160px;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 7px 10px;
}

.cart-coupon-btn, .cart-update-btn {
    background: #111;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 10px 22px;
    margin-right: 12px;
    font-size: 15px;
    cursor: pointer;
    letter-spacing: 0.05em;
    transition: background 0.2s, color 0.2s;
}

.cart-coupon-btn:disabled {
    background: #eee;
    color: #aaa;
}

.cart-update-btn {
    background: #111;
}

.cart-update-btn:hover {
    background: #888;
}

/* === Итоги корзины === */
.cart-totals-title {
    font-size: 1.5em;
    font-weight: 600;
    margin: 44px 0 20px 0;
}

.cart-totals-wrap {
    max-width: 430px;
    border: 1.5px solid #ddd;
    border-radius: 4px;
    margin-bottom: 28px;
}

.cart-totals-table {
    width: 100%;
    border-collapse: collapse;
}

.cart-totals-table td {
    padding: 16px 18px;
    border-bottom: 1px solid #eee;
}

.cart-totals-table tr:last-child td {
    border-bottom: none;
    font-size: 1.2em;
}

/* === Варианты доставки === */
.cart-shipping-options {
    color: #111;
    font-size: 16px;
}

.cart-calc-shipping a {
    color: #2d55ff;
    font-size: 14px;
    text-decoration: underline;
    margin-top: 4px;
    display: block;
}

/* === Кнопка оформления заказа === */
.cart-checkout-row {
    margin-top: 18px;
}

.cart-checkout-btn {
    display: inline-block;
    background: #111;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 15px 46px;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    transition: background 0.2s;
}

.cart-checkout-btn:hover {
    background: #444;
}

/* === Адаптивность === */
@media (max-width: 950px) {
    .shop-container {
        max-width: 98vw;
    }
    .cart-table th, .cart-table td {
        padding: 10px 6px;
    }
    .cart-totals-wrap {
        max-width: 98vw;
    }
}


.add-cart-btn.go-to-cart {
    background: #9D9981 !important;
    color: #1A1A1A !important;
    width: 320px;
    display: block;
    text-align: center;
    font-weight: 500;
    letter-spacing: 0.02em;
    transition: background .2s, color .2s;
}
.add-cart-btn.go-to-cart img { display: none !important; }








/* SHOP COMPARE ------------------------ */

:root{
    --cmp-border:#E3E3E3;
    --cmp-dark:#111;
    --cmp-accent:#9D9981;
}

/* Обёртка */
.compare-wrap{
    max-width: var(--container-desktop);
    margin: 64px auto 80px;
    width: 90vw;
}
.compare-title{
    font-family:'ZhernovBold', serif;
    font-size: 42px;
    line-height:1.1;
    margin: 24px 0 12px;
}
.compare-toolbar{
    display:flex; align-items:center; gap:16px;
    margin: 8px 0 28px 0;
}
.cmp-btn{
    background: var(--cmp-dark);
    color:#fff;
    border:1px solid var(--cmp-dark);
    padding: 12px 18px;
    font-family: Roboto, Arial, sans-serif;
    font-weight:700;
    letter-spacing:1px;
    cursor:pointer;
}
.cmp-btn.invert{
    background:#fff;
    color:var(--cmp-dark);
    border:1px solid var(--cmp-dark);
}
.cmp-btn:hover{ filter:brightness(0.92); }
.cmp-link{
    color:#1A1A1A;
    text-decoration: underline;
    letter-spacing: .3px;
}

/* Пустое состояние / ошибка */
.compare-empty, .compare-error{
    background:#F8F9FA;
    padding: 22px;
    border:1px dashed var(--cmp-border);
    color:#232323;
    font-family: Roboto, Arial, sans-serif;
}
.compare-empty a{ color:#968484; }

/* Таблица */
.compare-table-wrap{
    width:100%;
    overflow:auto;                   /* горизонтальный скролл если много колонок */
    border:1px solid var(--cmp-border);
    background:#fff;
}
.compare-table{
    width:100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 760px;                /* чтобы не ломалось на очень узком экране */
}
.compare-table th, .compare-table td{
    padding: 16px;
    vertical-align: top;
    border-bottom:1px solid #eee;
}

/* Левый столбец (названия характеристик) */
.cmp-feature{
    width: 220px;
    min-width: 220px;
    background:#fafafa;
    font-family: Roboto, Arial, sans-serif;
    color:#232323;
    position: sticky; left: 0;       /* залипаем слева при скролле */
    z-index: 3;
    border-right:1px solid #eee;
}

/* Шапка */
.cmp-headrow th{
    background:#F8F9FA;
    position: sticky; top: 0;
    z-index: 4;
    border-bottom:1.5px solid var(--cmp-border);
}
.cmp-prod{
    width: 280px;
    min-width: 280px;
    text-align: center;
}
.cmp-remove{
    float:right;
    background:none; border:none;
    font-size:26px; line-height:1;
    color:#999; cursor:pointer;
}
.cmp-remove:hover{ color:#d9534f; }

/* Превью + заголовок */
.cmp-thumb{
    width: 180px; height: 180px;
    background:#fff no-repeat center/contain;
    border:2px solid white;
    margin: 0 auto 8px;
    box-shadow: 0 1px 4px #eee;
}
.cmp-title{
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 16px;
    color:#9D9981;
    letter-spacing:1px;
    line-height:140%;
}
.cmp-title-link{
    text-decoration: none; color: inherit;
}
.cmp-title-link:hover .cmp-title{ text-decoration: underline; }

/* Ячейки */
.cmp-cell{
    text-align: left;
    border-left:1px solid #f3f3f3;
}

/* Цена */
.cmp-price{
    font-family:'ZhernovBold';
    font-size:24px; color:#232323;
    display:flex; align-items:center; gap:10px; flex-wrap: wrap;
}
.cmp-old{
    color:#BFBBA0;
    font-family:'ZhernovBold';
    font-size:16px;
    text-decoration:line-through;
}
.cmp-badge{
    display:inline-block;
    background:#111; color:#fff;
    padding: 4px 8px;
    font-size: 12px; letter-spacing:1px;
}

/* Метки */
.cmp-tag{
    display:inline-block;
    color:#232323;
    font-size:14px;
    border:1px solid #ddd;
    padding: 4px 8px;
    letter-spacing:.3px;
}
.cmp-chip{
    display:inline-block;
    border:1px solid #9D9981;
    padding: 3px 8px;
    font-size: 13px;
    margin: 0 6px 6px 0;
}
.cmp-desc{
    color:#857f77;
    font-size: 16px;
}

/* Адаптив */
@media (max-width: 950px){
    .cmp-feature{ width: 180px; min-width: 180px; }
    .cmp-prod{ width: 240px; min-width: 240px; }
    .cmp-thumb{ width: 150px; height: 150px; }
}



/* ===== WISHLIST PAGE ===== */
.wish-main{
    display:flex; align-items:flex-start;
    margin-top:128px;
}
.account-sidebar{
    width: 220px; flex-shrink:0;
}
.account-menu{
    display:flex; flex-direction:column; gap:14px;
    margin-bottom:18px;
}
.account-link{
    font-family: 'Roboto', Arial, sans-serif;
    font-size:16px; color:#9A9A9A; text-decoration:none;
    letter-spacing:1px;
}
.account-link.active{ color:#1A1A1A; }
.account-logout{
    background:#111; color:#fff; border:none;
    padding:10px 16px; cursor:pointer; letter-spacing:1px;
}

.wish-content{
    display:flex; flex-direction:column;
    margin-left:64px; width:100%;
}

.wishlist-empty, .wishlist-error{
    background:#F8F9FA;
    border:1px dashed #E3E3E3;
    padding:22px; margin-top:12px;
    color:#232323;
}

/* бейдж для Favorites в хедере (если используешь) */
.favorite-btn{ position: relative; }
.favorite-badge{
    position:absolute; top:-6px; right:-6px;
    background:#9D9981; color:#fff; font-size:12px; font-weight:600;
    border-radius:50%; width:20px; height:20px;
    display:flex; align-items:center; justify-content:center;
}

/* ===== AUTH / LOGIN ===== */
.auth-wrap{
    display:flex; justify-content:center;
    margin: 80px 0 120px;
}
.auth-card{
    width: min(720px, 92vw);
    background:#fff;
    border:1px solid #E3E3E3;
    box-shadow: 0 1px 6px #00000008;
    padding: 36px 44px 40px;
}
.auth-title{
    font-family:'ZhernovBold', serif;
    font-size: 40px;
    text-align:center;
    margin: 8px 0 28px;
    letter-spacing:.3px;
}
.auth-errors{
    background:#fff4f4; border:1px solid #ffd9d9; color:#b10000;
    padding:10px 12px; margin-bottom:14px; font-size:14px;
}
.auth-form{ display:flex; flex-direction:column; gap:16px; }

.auth-input{
    width:100%;
    height:56px;
    border:1px solid #1A1A1A;
    background:#F5F5F5;
    padding: 0 16px;
    font-size:16px; letter-spacing:.5px;
    outline:none;
}
.auth-input:focus{ background:#fff; }

.auth-input-row{ position:relative; }
.auth-input-row .auth-input{ width:100%; }
.auth-forgot{
    position:absolute; right:12px; top:50%; transform:translateY(-50%);
    font-size:13px; color:#2d55ff; text-decoration:underline;
}

.auth-remember{
    display:flex; align-items:center; gap:10px;
    font-family: Roboto, Arial, sans-serif;
    font-size:15px; color:#111;
}
.auth-remember input{ width:16px; height:16px; }

.auth-submit{
    width:100%; height:56px;
    background:#111; color:#fff;
    border:none; cursor:pointer;
    font-weight:700; letter-spacing:1px;
    transition: filter .15s;
}
.auth-submit:hover{ filter:brightness(0.92); }

.auth-divider{
    text-align:center; color:#666; margin:18px 0 12px;
    font-size:14px;
}

.auth-social{
    display:flex; gap:16px; flex-wrap:wrap; justify-content:center;
    margin-bottom:10px;
}
.auth-social-btn{
    display:flex; align-items:center; gap:10px;
    min-width:240px; justify-content:center;
    height:56px; border:1px solid #1A1A1A; text-decoration:none;
    color:#111; background:#fff; letter-spacing:.5px;
}
.auth-social-btn:hover{ background:#f8f8f8; }

.auth-bottom{
    margin-top:8px; text-align:left; color:#666; font-size:14px;
}
.auth-bottom a{ color:#2d55ff; text-decoration:underline; }

@media (max-width:700px){
    .auth-card{ padding:24px; }
    .auth-title{ font-size:34px; }
    .auth-social-btn{ min-width:100%; }
}








/* ===== ACCOUNT / PROFILE ===== */
.account-wrap{ display:flex; align-items:flex-start; margin-top:128px; }
.account-sidebar{ width:220px; flex-shrink:0; }
.account-menu{ display:flex; flex-direction:column; gap:14px; margin-bottom:18px; }
.account-link{ font-family:'Roboto', Arial, sans-serif; font-size:16px; color:#9A9A9A; text-decoration:none; letter-spacing:1px; }
.account-link.active{ color:#1A1A1A; }
.account-logout{ background:#111; color:#fff; border:none; padding:10px 16px; cursor:pointer; letter-spacing:1px; }

.account-content{ margin-left:64px; width:100%; }
.account-title{ font-family:'ZhernovBold', serif; font-size:42px; margin:0 0 6px 0; }
.account-subtitle{ color:#777; margin-bottom:18px; }

.acc-alert.success{ background:#f2fff3; border:1px solid #bfe8c4; color:#1f6b2a; padding:10px 12px; margin-bottom:14px; }

.profile-form{ display:flex; flex-direction:column; gap:16px; }
.profile-grid{ display:grid; grid-template-columns: repeat(3, minmax(160px, 280px)); gap:16px; max-width: 980px; }
.form-row{ display:flex; flex-direction:column; gap:6px; }

.acc-input, .acc-select{
    height:56px; width:100%;
    border:1px solid #1A1A1A;
    background:#F5F5F5;
    padding:0 14px;
    font-size:16px; letter-spacing:.4px;
    outline:none;
}
.acc-input:focus, .acc-select:focus{ background:#fff; }
.acc-select{ appearance:auto; }

.gender-row{ display:flex; gap:22px; align-items:center; margin-top:8px; }
.radio{ display:flex; align-items:center; gap:8px; font-size:16px; color:#111; }

.acc-check{ display:flex; gap:10px; align-items:flex-start; margin-top:4px; }
.acc-check input{ margin-top:3px; }
.acc-note{ color:#666; font-size:14px; max-width:880px; }

.acc-save{
    margin-top:8px;
    width:180px; height:48px;
    background:#111; color:#fff; border:none; cursor:pointer;
    font-weight:700; letter-spacing:1px;
}
.acc-err{ color:#b10000; font-size:13px; }

@media (max-width: 1000px){
    .profile-grid{ grid-template-columns: 1fr; max-width: 100%; }
    .account-content{ margin-left:24px; }
}


/* ===== ORDERS LIST ===== */
.order-status .ord-line{
    margin: 6px 0 8px 0;
    color:#232323;
    font-weight:600;
    letter-spacing:.3px;
}


/* ===== ADDRESSES ===== */
.addr-hint{
    color:#777; margin: 6px 0 14px 0; font-size:14px;
}


/* wishlist: подсветка активной кнопки */
.shop-menu .btn-wishlist.active img {
    filter: brightness(0) saturate(100%) invert(18%) sepia(98%) saturate(3629%) hue-rotate(356deg) brightness(89%) contrast(116%);
}


.shop-latest {
    margin-top: 24px;
}

.shop-latest-item {
    display: flex;
    align-items: center;
    margin-bottom: 16px;
}

.shop-latest-thumb {
    display: block;
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    overflow: hidden;
    background: #fff;
    margin-right: 12px;
}

.shop-latest-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.shop-latest-info {
    display: flex;
    flex-direction: column;
}

.shop-latest-title {
    font-family:'ZhernovBold', serif;
    font-weight: 700;
    font-size: 16px;
    color: #1A1A1A;
    text-decoration: none;
    letter-spacing: 0;
}

.shop-latest-price {
    font-size: 16px;
    color: #1A1A1A;
    margin-top: 4px;
}






/* — бейджи — */
.shop-thumb { position: relative; }
.shop-badges {
    position: absolute;
    top: 12px; left: 12px;
    display: flex; flex-direction: column; gap: 6px;
    z-index: 4;
}
.shop-badge {
    display: inline-block;
    width: 64px;
    height: 26px;
    line-height: 26px; /* вертикальное центрирование */
    text-align: center;
    font-size: 14px;
    letter-spacing: .06em;
    color: #fff;
    background: #1A1A1A;
    user-select: none;
}

.shop-badge--discount { background:#1A1A1A; }
.shop-badge--sold     { background:#CFCBB9; color:#1A1A1A; font-weight:700; }
.shop-badge--new      { background:#9D9981; color:#1A1A1A; font-weight:700; }
.shop-badge--hot      { background:#D7263D; }

/* — SOLD состояние карточки — */
.shop-item--sold .qty-box { display: none; }
.shop-item--sold .add-cart-btn.is-sold {
    cursor: default; opacity: .85;
}
.add-cart-btn img { margin-left: 8px; }

/* (если где-то остался старый ярлык скидки) отключаем в карточках */
.shop-item .shop-label { display: none !important; }




.sold-out-info {
    font-size: 18px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.sold-out-info .price-old {
    text-decoration: line-through;
    color: #999;
}
.sold-out-info .sold-out-text {
    color: #999;
    font-weight: 500;
}

.item-actions-box {
    margin-top: 16px;
}

.wishlist-btn {
    display: inline-block;
    width: 334px;
    height: 56px;
    border: 1px solid #1A1A1A;
    background: transparent;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #1A1A1A;
    cursor: pointer;
    text-align: center;
    transition: all .2s ease;
    border-radius: 0px;
}

.wishlist-btn:hover {
    background: #000;
    color: #fff;
}

.wishlist-btn.active {
    background: #000;
    color: #fff;
}




.shop-prices--sold {
    display: flex;
    align-items: baseline;
    gap: 12px;
}

.shop-price--muted {
    color: #cfcfcf;            /* светло‑серый как на примере */
    font-weight: 700;          /* жирная цена */
}

.shop-soldout {
    font-family: Roboto;
    color: #1A1A1A;               /* чёрный текст */
    font-weight: 400;
    font-size: 16px;
}

