/*
Theme Name: CeramyV2
Version: 1.0
*/

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('fonts/inter/inter-v20-cyrillic_latin-regular.woff2') format('woff2');
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('fonts/inter/inter-v20-cyrillic_latin-600.woff2') format('woff2');
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('fonts/inter/inter-v20-cyrillic_latin-700.woff2') format('woff2');
}

/* ============================================================
   ПЕРЕМЕННЫЕ
   ============================================================ */
:root {
    --color-text:   #24282b;
	--color-muted:   #24282b;
    --container:    1440px;
    --padding-x:    1rem;
	--cv2-filter-accent: #e86a17;
	--cv2-shadow-down: 0 8px 12px -8px rgba(31,40,45,.14);
    --cv2-shadow-up:   0 -8px 12px -8px rgba(31,40,45,.14);
}
/* ============================================================
   BASE
   ============================================================ */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Inter', Arial, sans-serif;
    background: #fff;
    color: var(--color-text);
}

/* ============================================================
   TOPBAR
   ============================================================ */
.cv2-topbar {
    background: #2d3a40;
    width: 100%;
}

.cv2-topbar-inner {
    max-width: var(--container);
    margin: 0 auto;
    display: flex;
    align-items: center;
    padding: 7px var(--padding-x);
	justify-content: space-between
}

.cv2-topbar-inner a {
    color: #fff;
    font-size: 14px;
    text-decoration: none;
    transition: color .25s;
}

.cv2-topbar-inner a:hover {
    color: rgba(255,255,255,0.7);
}

.cv2-topbar-links { display: flex; align-items: center; gap: 18px; }
.cv2-topbar-time { display: inline-flex; align-items: center; gap: 5px; font-size: 14px; color: #fff; }
.cv2-topbar-time i { font-size: 15px; }

/* ============================================================
   HEADER
   ============================================================ */
.cv2-header {
    width: 100%;
    background: #fff;
    border-bottom: 1px solid #e0ddd8;
}
.cv2-header-inner {
    max-width: var(--container);
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 4em;
    padding: 1rem var(--padding-x);
}

.cv2-logo { flex: 0 0 auto; margin-right: 0; }

.cv2-logo-link {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}

.cv2-logo-mark {
    height: 64px;
    width: auto;
    display: block;
    flex: 0 0 auto;
}

.cv2-logo-text {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 26px;
    letter-spacing: -0.1px;
    color: #202a3b;
    white-space: nowrap;
    line-height: 1;
}

.cv2-contacts {
    display: flex;
    align-items: center;
    gap: 10px;
}
.cv2-geo-icon {
    font-size: 28px;
    color: var(--color-text);
    margin-top: 4px;
}
.cv2-contacts-body {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.cv2-city-row { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.cv2-city { font-size: 13px; font-weight: 600; color: var(--color-text); }

/* ---- Статус работы (текст ставит JS) ---- */
.cv2-worktime {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 12px; color: var(--color-text);
    visibility: hidden;
}
.cv2-worktime.is-ready { visibility: visible; }
.cv2-dot {
    width: 8px; height: 8px; flex-shrink: 0;
    border-radius: 50%; background: #c9c4bc;
    display: inline-block;
}
.cv2-dot-open   { background: #27ae60; }
.cv2-dot-closed { background: #e74c3c; }

/* ---- Тултип «График работы» ---- */
.cv2-worktime-tip { cursor: default; }
.cv2-worktime-tip [data-cv2-text] {
    border-bottom: 1px dashed currentColor;
}
.cv2-worktime-tip .sp-tooltip {
    bottom: auto;
    top: calc(100% + 8px);
    left: 0;
    transform: none;
    width: max-content;
    padding: 14px 16px;
    font-size: 12px;
    text-align: left;
    white-space: normal;
}
.cv2-worktime-tip .sp-tooltip::after {
    top: auto;
    bottom: 100%;
    left: 20px;
    transform: none;
    border-top-color: transparent;
    border-bottom-color: #24282b;
}
.cv2-worktime-tip .cv2-wt-tip-head {
    display: flex; align-items: center; gap: 8px;
    margin-bottom: 12px; padding-bottom: 11px;
    border-bottom: 1px solid rgba(255,255,255,.14);
    font-size: 14px; font-weight: 600; white-space: nowrap;
}
.cv2-worktime-tip .cv2-wt-tip-head i { font-size: 18px; opacity: .75; flex-shrink: 0; }
.cv2-worktime-tip .cv2-wt-tip-row {
    display: flex; align-items: baseline;
    gap: 10px; font-size: 13px; white-space: nowrap;
}
.cv2-worktime-tip .cv2-wt-tip-row span { opacity: .7; }
.cv2-worktime-tip .cv2-wt-tip-row b { font-weight: 600; }
.cv2-worktime-tip .cv2-wt-tip-note {
    display: block; margin-top: 9px;
    font-size: 12px; opacity: .55;
}

.cv2-addr-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}

.cv2-addr-row span {
    font-size: 13px;
}

.cv2-addr-row i {
    font-size: 14px;
    margin-top: 2px;
    flex-shrink: 0;
}

.cv2-addr-row img {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    align-self: center;
}

.cv2-addr-row span,
.cv2-addr-row > div {
    flex: 1;
}

.cv2-addr-row a {
    font-size: 14px;
	margin-left:14px;
    font-weight: 600;
    color: var(--color-text);
    text-decoration: none;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    min-width: 140px;
    text-align: right;
	align-self: baseline;
}
.cv2-addr-row a:hover { color: #465058; }

.cv2-addr-sub {
    font-size: 11px;
}

.cv2-messengers {
    display: flex;
    align-items: center;
    gap: 10px;
	margin-left: auto;
}

.cv2-msg-label {
    font-size: 12px;
    color: var(--color-text);
    line-height: 1.4;
}

.cv2-msg-label strong {
    font-size: 13px;
}

.cv2-msg-icon {
    width: 36px; height: 36px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 20px; flex-shrink: 0;
    text-decoration: none;
    transition: opacity .15s;
}

.cv2-msg-icon:hover {opacity: .8; }
.cv2-msg-icon img{width: 36px; height: 36px;display: block;}

.cv2-search {
    margin-left: auto;
    display: flex;
    align-items: center;
    position: relative;
	width: 340px;
}
.cv2-search-input-wrap {
    display: flex;
    align-items: center;
    border: 1.5px solid #e0ddd8;
    border-radius: 8px;
    overflow: hidden;
    width: 100%;
}
.cv2-search input {
    border: none; outline: none;
    padding: 9px 14px;
    font-size: 13px;
    color: var(--color-text);
    font-family: inherit;
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
}
.cv2-search input::placeholder { color: var(--color-muted); }
.cv2-search button {
    padding: 0 14px; border: none;
    background: none; cursor: pointer;
    color: var(--color-text);
    font-size: 18px;
    display: flex; align-items: center;
    transition: opacity .15s;
}
.cv2-search button:hover { opacity: .6; }
.cv2-search-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #e0ddd8;
    border-top: none;
    border-radius: 0 0 8px 8px;
    z-index: 999;
    box-shadow: 0 4px 12px rgba(0,0,0,.1);
}
.cv2-suggest-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 12px;
    text-decoration: none;
    color: #222;
    border-bottom: 1px solid #f0f0f0;
}
.cv2-suggest-item:last-child { border-bottom: none; }
.cv2-suggest-item:hover { background: #f5f5f5; }
.cv2-suggest-label { font-size: 13px; }
.cv2-suggest-brand {
    font-size: 12px;
    color: #888;
    white-space: nowrap;
}
.cv2-suggest-sub { font-size: 12px; color: #888; }

.cv2-search-section-title:first-child {
    margin-top: 0;
}

.cv2-search-wrap { position: relative; }
.cv2-search-dropdown { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 100; overflow-y: auto; background: #fff; border: 1px solid #e0ddd8; border-radius: 8px; box-shadow: 0 4px 16px rgba(0,0,0,.08); }
.cv2-search-dropdown { min-width: 340px; right: 0; left: auto; }
.cv2-search-item-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cv2-search-item { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 9px 14px; font-size: 13px; color: var(--color-text); text-decoration: none; border-bottom: 1px solid #f2efeb; }
.cv2-search-item:last-child { border-bottom: none; }
.cv2-search-item:hover { background: #faf9f7; }
.cv2-search-item-brand { font-size: 11px; color: #aab0b5; flex-shrink: 0; }

/* ============================================================
   HERO
   ============================================================ */
.cv2-hero {
    background: #fff;
}

.cv2-hero-inner {
    max-width: var(--container);
    margin: 40px auto 40px;
    display: grid;
    grid-template-columns: 60% 40%;
    min-height: 320px;
}

.cv2-hero-left {
    padding: 2.5rem 3rem 2.5rem 2rem;
	border-radius: 0 14px 14px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid #e0ddd8;
	border-top: 1px solid #e0ddd8;
    border-bottom: 1px solid #e0ddd8;
}

.cv2-hero-eyebrow {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #727272;
    margin-bottom: 12px;
}

.cv2-hero-h1 {
    font-size: 32px;
    font-weight: 700;
    color: var(--color-text);
    line-height: 1.22;
    margin-bottom: 12px;
}

.cv2-hero-h1 span {
    padding: 1px 9px; border-radius: 5px;
    background-image: linear-gradient(#ff6b6b, #ff6b6b);
    background-repeat: no-repeat;
    background-size: 0% 100%;
    animation: cv2mark .5s ease-out .25s forwards;
	color: #fff;
}
@keyframes cv2mark { to { background-size: 100% 100%; } }

.cv2-hero-sub {
    margin: 14px 0 26px;
    font-size: 15px; line-height: 1.65; color: #5a5f62;
}
.cv2-hero-sub b { color: #24282b; font-weight: 700; font-size: 18px;}
.cv2-hero-btns { display: flex; gap: 10px; margin-bottom: 22px; }
.cv2-hero-features { display: flex; flex-wrap: wrap; gap: 6px; }
.cv2-hero-feat {
	text-decoration: none;
    color: inherit;
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 11px;
    border: 1px solid #e8e4df; border-radius: 999px;
    font-size: 12px;
	color:var(--color-text);
}
.cv2-hero-feat i { font-size: 15px; color: #a8a49e; }

.cv2-btn-primary {
    padding: 11px 22px;
    background: #2f3a40;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    font-family: inherit;
	transition: background .25s;}

.cv2-btn-primary:hover { opacity:0.9; }

.cv2-btn-ghost {
    padding: 10px 22px;
    background: transparent;
    color: var(--color-text);
    border: 1.5px solid #e0ddd8;
    border-radius: 8px;
    font-size: 14px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    font-family: inherit;
    transition: border-color .15s;
}
.cv2-btn-ghost:hover { border-color: var(--color-text); }


/* Статус работы */
.cv2-worktime {
    display: inline-flex; align-items: center; gap: 7px;
    opacity: 0; transition: opacity .2s;
}
.cv2-worktime.is-ready { opacity: 1; }
.cv2-dot {
    width: 7px; height: 7px; flex-shrink: 0; border-radius: 50%;
    background: #c9c4bc;
}
.cv2-dot-open   { background: #27ae60; }
.cv2-dot-closed { background: #d9603f; }


/* Салоны */
.cv2-hero-right {display: flex;flex-direction: column;border-radius: 14px 0 0 14px;overflow: hidden;}

.cv2-salon {
    flex: 1;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-decoration: none;
    position: relative;
    background-size: cover;
    background-position: center;
    overflow: hidden;
}
.cv2-salon::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(100deg,
        rgba(31,40,45,.93) 0%,
        rgba(31,40,45,.80) 38%,
        rgba(31,40,45,.30) 68%,
        rgba(31,40,45,.06) 100%);
    transition: background .3s ease;
}
.cv2-salon:hover::before {
    background: linear-gradient(100deg,
        rgba(31,40,45,.96) 0%,
        rgba(31,40,45,.87) 44%,
        rgba(31,40,45,.42) 74%,
        rgba(31,40,45,.12) 100%);
}
.cv2-salon > * { position: relative; z-index: 1; }
.cv2-salon:last-child { border-bottom: none; }

.cv2-salon-name {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 2px;
}
.cv2-salon-addr {
    font-size: 13px;
    color: rgba(255,255,255,.6);
    margin-bottom: 14px;
}
.cv2-salon-count {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 14px;
}
.cv2-salon-num {
    font-size: 36px;
    font-weight: 700;
    color: #fff;
    line-height: 1;
}
.cv2-salon-num-label {
    font-size: 13px;
    color: rgba(255,255,255,.7);
}
.cv2-salon-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 12px;
}
.cv2-salon-tag {
    font-size: 11px;
    padding: 3px 8px;
    background: rgba(255,255,255,.16);
    border-radius: 20px;
    color: rgba(255,255,255,.92);
}
.cv2-salon-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
}
.cv2-salon-link i { transition: transform .18s ease; }
.cv2-salon:hover .cv2-salon-link i { transform: translateX(4px); }
.nv-hero-more i { transition: transform .18s ease; }
.nv-hero-link:hover .nv-hero-more i { transform: translateX(4px); }
/* =========================================================
   БАННЕР «СКИДКА НОВОСЁЛАМ» НА ГЛАВНОЙ
   (классы обособлены от страницы /skidki-novoselam/, чтобы не пересекаться)
   ========================================================= */
.cv2-promo-wide { max-width: var(--container); margin: 0 auto;}
.nv-hero-link {
    display: flex; align-items: stretch; gap: 0;
    border: 1px solid #e0ddd8; border-radius: 16px; overflow: hidden;
    box-shadow: 0 4px 14px rgba(31,40,45,.08);
    text-decoration: none; margin: 16px 0;
    transition: box-shadow .18s;
}

.nv-hero-link:hover { box-shadow: 0 6px 20px rgba(31,40,45,.12);}

.nv-hero-num {
    flex-shrink: 0; width: 150px;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(150deg, #ff7a7a, #ee5555);
    font-size: 44px; font-weight: 800; color: #fff; letter-spacing: -.02em;
}

.nv-hero-body {
    flex: 1; padding: 24px 30px; background: #fff;
    display: flex; flex-direction: column; justify-content: center;
}
.nv-hero-eyebrow {
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
    color: #e05252; margin-bottom: 6px;
}
.nv-hero-title { font-size: 20px; font-weight: 800; color: #24282b; margin-bottom: 6px; }
.nv-hero-sub { font-size: 13.5px; color: #5a5f62; line-height: 1.55; max-width: 460px; margin: 0 0 12px; }
.nv-hero-more {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 13px; font-weight: 600; color: #d54c53;
}
.nv-hero-more i { font-size: 15px; }

/* === СТАТИСТИКА САЛОНА === */
.sh-stat { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin: 28px 0 36px; }

.sh-stat-i {
    position: relative;
    overflow: hidden;
    padding: 26px 30px 24px;
    border: 1px solid #e0ddd8;
    border-radius: 14px;
    background: #fff;
}

.sh-stat-bg {
    position: absolute;
    right: 0; bottom: 0;
    font-size: 150px;
    line-height: 1;
    color: #f5f4f2;
    pointer-events: none;
}
.sh-addr { font-size: 15px; margin-top: 8px; }
.sh-addr-note { margin-left: 4px; font-size: 13px; }

.sh-stat-body { position: relative; }

/* Заголовок и цена в одну строку */
.sh-stat-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.sh-stat-label { font-size: 20px;font-weight: 700;color: var(--color-text);text-transform: uppercase; }
.sh-stat-price { text-align: right; flex-shrink: 0; }
.sh-stat-price-label { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: #aab0b5; margin-bottom: 3px; }
.sh-stat-price-val { font-size: 20px; font-weight: 700; color: var(--color-text); white-space: nowrap; margin-top: 10px;}
.sh-stat-i .sh-stat-price-from { color: #ff6b6b; font-size: 24px; }
.sh-stat-price-sep { color: #d5d1cb; font-weight: 400; margin: 0 1px; }

/* Цифры в строку */
.sh-stat-nums { display: flex; flex-wrap: wrap; gap: 34px; margin-bottom: 20px; }
.sh-stat-num b {
    display: block;
    font-size: 42px; font-weight: 700; color: var(--color-text);
    line-height: 1; letter-spacing: -.02em; margin-bottom: 6px;
}
.sh-stat-num span { font-size: 13px; color: #888; }

/* Форматы */
.sh-stat-formats {
    display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px;
    padding-top: 14px; border-top: 1px solid #f2efeb;width: fit-content;
}
.sh-stat-formats-label { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: #25282b; margin-right: 4px; }
.sh-stat-formats-list { font-size: 13px; color: #888; }
.sh-stat-more { font-size: 13px; color: #888; }

/* === СКЕЛЕТОН === */
.cv2-skel { aspect-ratio: 1 / 1; border-radius: 8px; background: #f5f5f5; }

/* === СЕКЦИИ ГЛАВНОЙ === */
.cv2-section {
    padding: 40px 0;
}
.cv2-section-inner {
    max-width: var(--container);
    margin: 0 auto;
}
.cv2-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 28px;
}
.cv2-section-title {
    font-size: 24px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}
.cv2-section-more {
    font-size: 14px;
    color: var(--color-text);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 4px;
    opacity: 0.6;
    transition: opacity 0.2s;
}
.cv2-section-more:hover {
    opacity: 1;
}

.cv2-section-sale .cv2-section-title .ti-flame {
    color: #e86a17;
	font-size: 36px;
}
.ti-flame {color: #e86a17;}

.cv2-section-new .cv2-section-title .ti-sparkles {
    font-size: 36px;
}

.cv2-section-more-bottom {
    display: flex;
    justify-content: center;
    margin-top: 32px;
}
.cv2-btn-more-lg {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 32px;
    border: 1px solid var(--color-text);
    border-radius: 8px;
    background: #fff;
    color: var(--color-text);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: all .15s;
}
.cv2-btn-more-lg:hover {
    background: #2f3a40;
    color: #fff;
}
.cv2-btn-more-lg i { font-size: 18px; }

/* === БАННЕР 3D === */
.cv2-banner-3d { background: #1e282d; }
.cv2-banner-3d .cv2-section-title { color: #fff; }
.cv2-b3d-inner { display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center; }
.cv2-b3d-eyebrow { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,0.4); margin-bottom: 12px; }
.cv2-b3d-title { font-size: 36px; font-weight: 700; color: #fff; line-height: 1.15; margin: 0 0 16px; }
.cv2-b3d-sub { font-size: 14px; color: rgba(255,255,255,0.6); line-height: 1.7; margin: 0 0 28px; max-width: 480px; }
.cv2-b3d-right { display: flex; flex-direction: column; gap: 16px; }
.cv2-b3d-feat { display: flex; align-items: center; gap: 10px; font-size: 14px; color: rgba(255,255,255,0.65); }
.cv2-b3d-feat i { font-size: 18px; color: rgba(255,255,255,0.3); }

/* === МЕССЕНДЖЕРЫ === */
.cv2-msg-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.cv2-msg-card { display: flex; align-items: center; gap: 16px; padding: 20px 24px; border: 0.5px solid #e0ddd8; border-radius: 12px; text-decoration: none; transition: border-color .15s; }
.cv2-msg-card:hover { border-color: #b0ada8; }
.cv2-msg-icon { width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0; }
.cv2-msg-tg { background: #e6f1fb; color: #185fa5; }
.cv2-msg-vb { background: #eeedfe; color: #534ab7; }
.cv2-msg-ph { background: #e1f5ee; color: #0f6e56; }
.cv2-msg-name { font-size: 14px; font-weight: 500; color: #24282b; margin-bottom: 2px; }
.cv2-msg-sub { font-size: 12px; color: #888; }
.cv2-msg-badge { margin-left: auto; font-size: 11px; font-weight: 600; padding: 3px 8px; border-radius: 20px; white-space: nowrap; flex-shrink: 0; }
.cv2-closed .cv2-msg-badge { background: #ff7c7c; color: #fff; }
.cv2-open  .cv2-msg-badge { background: #e1f5ee; color: #0f6e56; }
.cv2-open  [data-cv2-badge]::after { content: 'Online'; }
.cv2-closed [data-cv2-badge]::after { content: 'Offline'; }
.cv2-closed [data-cv2-badge-off]::after { content: 'Закрыто'; }
.cv2-open  [data-cv2-badge-off] { display: none; }

.cv2-open  [data-cv2-title]::after { content: 'Ответим за минуту'; }
.cv2-closed [data-cv2-title]::after { content: 'Напишите — ответим утром'; }
.cv2-open  [data-cv2-phone-badge]::after { content: 'Мы открыты'; }
.cv2-closed [data-cv2-phone-badge]::after { content: 'Сейчас мы закрыты'; }
.ct-salon-badge {display: inline-block;margin: 6px 0 12px 0;}

/* Грид коллекций */
.cc-grid {
    display: grid;
    gap: 20px;
}
.cc-grid-3 {
    grid-template-columns: repeat(3, 1fr);
}
.cc-grid-4 {
    grid-template-columns: repeat(4, 1fr);
}
.cc-grid-5 {
    grid-template-columns: repeat(5, 1fr);
}

/* === СТРАНИЦЫ РУБРИК === */
.cv2-brand-head {padding: 20px 0;}
.cv2-brand-head-inner {
    max-width: var(--container);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.cv2-brand-logo img {width: auto; object-fit: contain; }
.cv2-brand-title { font-size: 32px; font-weight: 700; margin: 0; text-transform:uppercase;}
.cv2-country-title {justify-content: flex-start;gap: 24px;}
.cv2-country-flag { font-size: 64px; line-height: 1; }
.cv2-brand-eyebrow { font-size: 12px; color: #888; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 4px; }
.cv2-format-tile { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.cv2-format-dims { font-size: 12px; color: #888; }
.cv2-brand-head-inner { align-items: center; }
.cv2-format-visual { display: flex; align-items: center; }
.cv2-format-visual svg { max-height: 240px; width: auto; }
.cv2-catalog-placeholder { padding: 3rem; text-align: center; color: #888; font-size: 14px; width: 100%; }
.cv2-catalog-more { text-align: center; padding: 2rem 0; }

/* ============================================================
   NAV
   ============================================================ */
.cv2-nav { background: #2d3a40; width: 100%; }

.cv2-nav-inner {
    max-width: var(--container);
    margin: 0 auto;
    display: flex;
    align-items: stretch;
}

.cv2-nav-item {
    padding: 11px 16px;
    font-size: 13px;
    color: rgba(255,255,255,0.7);
    display: flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    cursor: pointer;
    border-right: 0.5px solid rgba(255,255,255,0.08);
    transition: all .15s;
    white-space: nowrap;
    position: relative;
    user-select: none;
}

.cv2-nav-item:hover,
.cv2-nav-item.open { background: rgba(255,255,255,0.08); color: #fff; }

.cv2-nav-item i { font-size: 14px; }

.cv2-arr { font-size: 11px !important; margin-left: 2px; transition: transform .15s; }
.cv2-nav-item.open .cv2-arr { transform: rotate(180deg); }

.cv2-nav-sale { color: #e86a17; }
.cv2-nav-sale:hover { background: rgba(232,106,23,0.1) !important; color: #e86a17 !important; }

.cv2-nav-new { color: #6bcb77; }
.cv2-nav-new:hover { background: rgba(107,203,119,0.1) !important; color: #6bcb77 !important; }

.cv2-nav-right { margin-left: auto; display: flex; align-items: center; }

.cv2-nav-filter-btn {
    display: flex; align-items: center; gap: 6px;
    padding: 0 20px; height: 100%;
    font-size: 13px; color: rgba(255,255,255,0.7);
    background: rgba(255,255,255,0.06);
    border: none; cursor: pointer; font-family: inherit;
    border-left: 0.5px solid rgba(255,255,255,0.08);
    transition: all .15s;
}
.cv2-nav-filter-btn { text-decoration: none; }
.cv2-nav-filter-btn:hover { background: rgba(255,255,255,0.12); color: #fff; }
.cv2-nav-filter-btn i { font-size: 15px; }

/* Выпадашки */
.cv2-dropdown {
    display: none!important;
    position: absolute;
    top: 100%; left: 0;
    background: #fff;
    border: 1px solid #e0ddd8;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    min-width: 200px;
    z-index: 200;
    padding: 8px 0;
}

.cv2-dropdown-cols {
    column-count: 2;
    min-width: 320px;
    column-rule: 1px solid #e8e8e8;
    column-gap: 0;
}

.cv2-nav-item.open .cv2-dropdown { display: block !important; }
.cv2-dropdown-cols {
    column-count: 2;
    min-width: 320px;
	column-rule: 1px solid #e8e8e8;
}

.cv2-dropdown-item {
    display: block;
    break-inside: avoid;
    padding: 8px 16px;
    font-size: 13px;
    color: #24282b;
    text-decoration: none;
    transition: background .1s;
}

.cv2-dropdown-item:hover { background: #f5f5f5; color: #465058; }


/* === УНИВЕРСАЛЬНЫЙ ФИЛЬТР === */
.cv2-filter {border-bottom: 1px solid #e0ddd8; padding: 24px 0 12px 0;}
.cv2-filter-inner { max-width: var(--container); margin: 0 auto;}
.cv2-filter-cols {display:flex;gap: 0;border: 1px solid #e0ddd8;border-radius:8px;overflow:hidden;background:#fff;}
.cv2-fcol { flex: 1; border-right: 1px solid #e0ddd8; min-width: 0; }
.cv2-fcol:last-child { border-right: none; }
.cv2-fcol-title {font-size: 10px;font-weight: 700;text-transform: uppercase;letter-spacing: .06em;color: #000000;padding: 10px 14px;border-bottom: 1px solid #e0ddd8;background: #f5f5f5;display: flex; align-items: center; justify-content: space-between; gap: 16px;height:37px;}
.cv2-fcol-title > i { display: none; }
.cv2-fcol-clear {display: none;background: none;border: none;font-size: 14px;line-height: 1;color: #000;cursor: pointer;padding: 0 2px;flex-shrink: 0;}
.cv2-fcol-clear:hover { color: #e74c3c; }
.cv2-fcol-clear.on { display: block; }
.cv2-fcol-body { padding: 8px 0; height: 182px; overflow-y: auto; }
.cv2-fcol-body::-webkit-scrollbar { width: 3px; }
.cv2-fcol-body::-webkit-scrollbar-thumb { background: #ddd; border-radius: 2px; }
.cv2-fopt { display: flex; align-items: center; gap: 6px; padding: 5px 12px; font-size: 13px; cursor: pointer; transition: background .1s;}
.cv2-fcol-format { flex: 0.95; }
.cv2-fcol-pokr   { flex: 1.05; }


@media (hover: hover) and (pointer: fine) {
    .sp-tooltip-wrap:hover .sp-tooltip { display: block; }
}
.sp-tooltip-wrap:focus .sp-tooltip,
.sp-tooltip-wrap:focus-within .sp-tooltip { display: block; }
.sp-tooltip-wrap:focus { outline: none; }

.cv2-sale-switch { position: absolute; opacity: 0; pointer-events: none; }
.cv2-sale-track {
    display: inline-flex; width: 38px; height: 22px;
    border-radius: 11px; background: #ceccc8;
    position: relative; flex-shrink: 0;
    transition: background .18s;
}
.cv2-sale-track .cv2-view-knob {
    position: absolute; top: 2px; left: 3px;
    width: 17px; height: 17px; border-radius: 50%;
    background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.15);
    transition: transform .18s;
}
.cv2-sale-switch:checked + .cv2-sale-track { background: #e86a17; }
.cv2-sale-switch:checked + .cv2-sale-track .cv2-view-knob { transform: translateX(16px); }

.cv2-sale { display: flex; align-items: center; gap: 12px; }
.cv2-sale-label { display: inline-flex; align-items: center; gap: 2px; }
.cv2-sale-label i { color: #e86a17; font-size: 16px; }
.cv2-fopt input { margin: 0; cursor: pointer; accent-color: var(--color-text); flex-shrink: 0; }
.cv2-fopt-label { font-size: 10px; font-weight: 600;padding: 0px 14px 2px; text-transform: uppercase; letter-spacing: .04em; }
.cv2-fopt-group { margin-bottom: 8px; border-bottom: 1px solid #f0ede8; padding-bottom: 8px; }
.cv2-results-header { display: flex;align-items: center;justify-content: flex-start;gap: 48px;padding: 24px 0;}
.cv2-sort-btns { display: flex; gap: 6px; }
.cv2-sort-btn { padding: 6px 14px; border: 1px solid #e0ddd8; border-radius: 6px; background: #fff; font-size: 13px; cursor: pointer; font-family: inherit; color: var(--color-text); transition: all .15s; }
.cv2-sort-btn:hover { border-color: #b0ada8; }
.cv2-sort-btn.active { background: #2f3a40; color: #fff; border-color: var(--color-text); }
.cv2-filter-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px;padding-top: 12px; }
.cv2-filter-count { font-size: 13px; color: #888;width: 110px; }
.cv2-filter-reset {
    background: none;
    border: none;
    font-size: 13px;
    color: #e74c3c;
    cursor: pointer;
    font-family: inherit;
    padding: 0;
    visibility: hidden;
}
.cv2-filter-reset.on { visibility: visible; }
.cv2-filter-reset:hover { text-decoration: underline; }
.cv2-view-toggle { display: inline-flex; align-items: center; gap: 10px; }
.cv2-view-sw { position: absolute; opacity: 0; pointer-events: none; }

.cv2-view-lbl { font-size: 13px; color: #aab0b5; cursor: pointer; user-select: none; transition: color .15s; }
.cv2-view-lbl > i { display: none; }
.cv2-view-sw:not(:checked) ~ .cv2-view-lbl-a,
.cv2-view-sw:checked ~ .cv2-view-lbl-b {color:var(--color-text);}

.cv2-view-track { position: relative; width: 38px; height: 21px; border-radius: 11px; background: #2f3a40; cursor: pointer; flex-shrink: 0; transition: background .18s; }
.cv2-view-knob { position: absolute; top: 3px; left: 3px; width: 15px; height: 15px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.18); transition: transform .18s; }
.cv2-view-sw:checked ~ .cv2-view-track .cv2-view-knob { transform: translateX(17px); }

/* === ПОЛЕ ЦЕНЫ === */
.cv2-price-box { padding: 9px 14px; }
.cv2-price-wrap { position: relative; width: 96px; }
.cv2-price-label { margin-top: 5px; padding-top: 7px; border-top: 1px solid #edeede; }
.cv2-price-inp { width: 100%; box-sizing: border-box; padding: 5px 26px 5px 9px; border: 1px solid #e0ddd8; border-radius: 6px; background: #fff; font-family: inherit; font-size: 13px; color: var(--color-text); transition: border-color .15s; -moz-appearance: textfield; }
.cv2-price-inp::placeholder { color: #aab0b5; }
.cv2-price-inp:hover { border-color: #b0ada8; }
.cv2-price-inp:focus { outline: none; border-color: var(--color-text); }
.cv2-price-inp::-webkit-outer-spin-button,
.cv2-price-inp::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.cv2-price-clear {position: absolute; right: 1px; top: 1px; bottom: 2px;width: 24px; display: none;align-items: center; justify-content: center;padding: 0; border: none; border-radius: 0 6px 6px 0; background: #fff;font-family: inherit; font-size: 15px; line-height: 1; color: #24282b;cursor: pointer;}
.cv2-price-clear:hover { color: #e74c3c; }
.cv2-price-clear.on { display: flex; }

.cv2-price-from { font-size: 13px; font-weight: 400; }
.cv2-price-sale-note { display: flex;align-items: center;gap: 3px;margin-top: 5px;font-size: 12px;color: #e74c3c;height: 16px; }
.cv2-price-sale-note i { font-size: 14px; }

/* === КАРУСЕЛЬ БРЕНДОВ === */
.cv2-section-brands .cv2-section-inner { max-width: var(--container); margin: 0 auto; }
.cv2-section-brands { padding: 40px 0 0; }
.cv2-brands-track-wrap {
    overflow: hidden;
    width: 100%;
    mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}
.cv2-brands-track {
    display: flex;
    gap: 40px;
    align-items: center;
    width: max-content;
    animation: cv2-brands-scroll 120s linear infinite;
}
.cv2-brands-track:hover { animation-play-state: paused; }
.cv2-brand-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    height: 60px;
    opacity: 0.6;
    transition: opacity .2s;
    filter: grayscale(1);
}
.cv2-brand-slide:hover { opacity: 1; filter: grayscale(0); }
.cv2-brand-slide img { height: 100%; width: auto; object-fit: contain; max-width: 140px; }
@keyframes cv2-brands-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

/* === ГОРИЗОНТАЛЬНЫЙ ФИЛЬТР === */
.cv2-filter-bar { padding: 20px 0; border-bottom: 1px solid #e0ddd8; margin-bottom: 28px; }
.cv2-filter-bar-inner { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.cv2-filter-dropdowns { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.cv2-fd { position: relative; }
.cv2-fd-btn { padding: 7px 14px; border: 1px solid #e0ddd8; border-radius: 6px; background: #fff; font-size: 13px; cursor: pointer; font-family: inherit; color: var(--color-text); display: flex; align-items: center; gap: 6px; transition: border-color .15s; }
.cv2-fd-btn:hover { border-color: #b0ada8; }
.cv2-fd-btn-active { border-color: var(--color-text); background: #2f3a40; color: #fff; }
.cv2-fd-drop { display: none; position: absolute; top: calc(100% + 6px); left: 0; background: #fff; border: 1px solid #e0ddd8; border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,0.1); min-width: 180px; padding: 8px 0; z-index: 200; max-height: 300px; overflow-y: auto; }
.cv2-fd.open .cv2-fd-drop { display: block; }
.cv2-fd-opt { display: flex; align-items: center; gap: 8px; padding: 7px 14px; font-size: 13px; cursor: pointer; }
.cv2-fd-opt:hover { background: #f5f4f0; }
.cv2-fd-opt input { margin: 0; cursor: pointer; }
.cv2-fd-toggles { display: flex; gap: 8px; }
.cv2-fd-toggle { display: flex; align-items: center; gap: 6px; font-size: 13px; cursor: pointer; padding: 7px 14px; border: 1px solid #e0ddd8; border-radius: 6px; }
.cv2-fd-toggle:hover { border-color: #b0ada8; }
.cv2-filter-active { display: flex; gap: 6px; flex-wrap: wrap; }
.cv2-filter-tag { display: flex; align-items: center; gap: 4px; font-size: 12px; padding: 4px 10px; background: #f0ede8; border-radius: 4px; }
.cv2-filter-tag button { background: none; border: none; cursor: pointer; font-size: 14px; color: #888; padding: 0; line-height: 1; }
.cv2-filter-meta { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.cv2-filter-count { font-size: 13px; color: #000; text-align:end;}

/* ============================================================
   СТРАНИЦА ТОВАРА (single / NEW-Catalog)
   ============================================================ */
.sp-wrap { max-width: var(--container); margin: 0 auto; }

.sp-top { display: grid; grid-template-columns: 1fr 420px; gap: 2rem; align-items: start; }
.sp-media { display: flex; gap: 12px; flex-direction: row-reverse; }

.sp-thumbs-wrap { position: relative; }

.sp-thumbs {
    max-height: 696px;
    overflow-y: auto;
    scrollbar-width: none;
}
.sp-thumbs::-webkit-scrollbar { display: none; }

.sp-thumbs::after {
    content: '';
    position: sticky;
    bottom: 0; left: 0; right: 0;
    display: block;
    height: 56px;
    margin-top: -56px;
    background: linear-gradient(transparent, #fff 80%);
    pointer-events: none;
    opacity: var(--fade, 0);
    transition: opacity .24s linear;
}
.sp-thumbs.can-scroll::after { opacity: 1; }

.sp-thumbs-wrap::after {
    content: '';
    position: absolute;
    bottom: -5px; left: 0; right: 0;
    height: 18px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23aab0b5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6l6 -6'/%3E%3C/svg%3E") no-repeat center / 18px 18px;
    pointer-events: none;
    opacity: 0;
    transition: opacity .2s;
    z-index: 2;
}
.sp-thumbs-wrap:has(.can-scroll)::after { opacity: 1; }

@keyframes spNudge {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(3px); }
}

.sp-thumb { width: 72px; height: 72px; border: 1.5px solid transparent; overflow: hidden; cursor: pointer; flex-shrink: 0; }
.sp-thumb.active { border-color: #e0ddd8; }
.sp-thumb:hover { opacity: 0.9; }
.sp-thumb img { width: 100%; height: 100%; object-fit: contain; background: #f5f5f5; }
.sp-main-img { flex: 1; position: relative; background: #f5f5f5; overflow: hidden; height: 696px; display: flex; align-items: center; justify-content: center; }
.sp-main-img a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.sp-main-img img { max-width: 100%; max-height: 650px; object-fit: contain; display: block; }
.sp-hidden-slide { display: none !important; }
.sp-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.sp-badge { font-size: 11px; font-weight: 600; padding: 4px 10px; border-radius: 4px; text-transform: uppercase; letter-spacing: .04em; line-height: 1.5; }
.sp-badge.cc-badge-new   { background: #3fab74; color: #fff; }
.sp-badge.cc-badge-sale  { background: linear-gradient(135deg, #e86a17 0%, #f28c1e 65%, #f5a623 100%);}
.sp-badge.cc-badge-ten   { background: #e67e22; color: #fff; }
.sp-badge.cc-badge-promo { background: #f5a623; color: #fff; }
.sp-badge.cc-badge-wait  { background: #8e44ad; color: #fff; }
.sp-badge.cc-badge-expo  { background: #f0ede8; color: #6b6b6b; text-transform: none; }
.sp-badge-expo-yes { background: #eaf6ed; color: #27ae60; }
.sp-badge-expo-no  { background: #fb6666; color: #ffffff; }
.sp-title { font-size: 36px; font-weight: 700; color: var(--color-text); line-height: 1.2; margin-bottom: 28px; }
.sp-brand {font-size: 14px;margin-bottom: 24px; }
.sp-flag { font-size: 1.35em; line-height: 1; vertical-align: -2px; margin-right: 2px; }
.sp-form { border: 1px solid #e0ddd8; border-radius: 10px; padding: 20px; margin-bottom: 20px; }
.sp-form-title { font-size: 14px; font-weight: 600; color: var(--color-text); margin-bottom: 14px; }
.sp-form-field { margin-bottom: 10px; }
.sp-form-field input, .sp-form-field textarea { width: 100%; border: 1px solid #e0ddd8; border-radius: 6px; padding: 9px 12px; font-size: 13px; font-family: inherit; color: var(--color-text); outline: none; resize: vertical; }
.sp-form-field input:focus, .sp-form-field textarea:focus { border-color: #465058; }
.sp-form-field textarea { min-height: 80px; }
.sp-form-submit { width: 100%; padding: 11px; background: #2f3a40; color: #fff; border: none; border-radius: 6px; font-size: 14px; font-weight: 600; font-family: inherit; cursor: pointer; }
.sp-form-submit:hover { background: #465058; }
.sp-messengers { display: flex; gap: 10px; align-items: center; font-size: 13px; color: #888;justify-content: center; }
.sp-messengers a { display: flex; align-items: center; gap: 6px; color: var(--color-text); text-decoration: none; font-size: 13px; font-weight: 600; padding: 8px 14px; border: 1px solid #e0ddd8; border-radius: 6px; }
.sp-messengers a:hover { opacity:.8; }
.sp-messengers a img { width: 18px; height: 18px; }
.sp-tiles { margin-top: 3rem; }
.sp-section-title { font-size: 13px; font-weight: 700; color: #555; text-transform: uppercase; letter-spacing: .08em; margin: 2rem 0 1rem; padding-bottom: 8px; border-bottom: 1px solid #e0ddd8; }
.sp-hint {display: inline-flex;align-items: center;justify-content: center;width: 18px;height: 18px;margin-left: 4px;border-radius: 50%;background: #2f3a40;color: #fff;font-size: 11px;text-transform: none;letter-spacing: 0;}
.sp-hint i { font-size: 12px; }
.sp-tile-grid { display: grid; grid-template-columns: repeat(var(--tpr, 4), 1fr); gap: 24px; }
.sp-tile { background: #fff; overflow: visible; }
.sp-tile-img {}
.sp-tile-img a {display: block; width: 100%;}
.sp-tile-img img {width: 100%; height: auto; object-fit: contain; display: block;overflow: hidden;box-shadow: 0 0 8px rgb(80 80 80 / 20%);}
.sp-tile:hover .sp-tile-img img {opacity: 0.96;}
.sp-tile-body {padding: 15px 0;}
.sp-tile-name { font-size: 15px; color: var(--color-text); line-height: 1.4; margin-bottom: 10px; }
.sp-tile-name mark { background: #fff3cd; padding: 0 2px; border-radius: 2px; }
.sp-tile-meta { font-size: 11px; color: #888; margin-bottom: 6px; display: flex; gap: 6px; flex-wrap: wrap; }
.sp-tile-badge { font-size: 10px; padding: 2px 6px; border-radius: 3px; font-weight: 600; display: inline-block; }
.sp-tile-badge-sale  { background: #fdecea; color: #c0392b; }
.sp-tile-badge-lefto { background: #fef9e7; color: #b7800a; }
.sp-tile-discount { display: inline-block; margin-left: 8px; padding: 2px 7px; border-radius: 4px; background: #ffecec; font-size: 12px; font-weight: 700; color: #e05252; vertical-align: 2px; }
.sp-faces { margin-top: 3rem; }
.sp-faces-group { margin-bottom: 1.5rem; }
.sp-faces-group-title { font-size: 13px; color: #282828; margin-bottom: 10px; }
.sp-faces-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 6px; align-items: start; }
.sp-faces-grid a { display: block; overflow: hidden; border: 1px solid #e0ddd8; }
.sp-faces-grid a:hover { opacity: 0.9; }
.sp-faces-grid img { width: 100%; height: auto; display: block; }

.sp-optional { margin-top: 2rem; }
.sp-optional-title { font-size: 13px; font-weight: 700; color: #888; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 12px; }
.sp-similar { margin-top: 3rem; }
.sp-similar-title { font-size: 20px; font-weight: 700; color: var(--color-text); margin-bottom: 1.5rem; }
.sp-similar-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; }

#spMainLink[hidden],
.sp-main-video[hidden],
.sp-video-player[hidden] {
    display: none !important;
}

.sp-main-video {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #111;
}

.sp-video-player {
    width: 100%;
    max-height: 100%;
}

.sp-video-player > *,
.sp-video-player video {
    max-width: 100% !important;
}

.sp-video-player video {
    display: block;
    width: 100% !important;
    max-height: 650px;
    margin: 0 auto;
    object-fit: contain;
    background: #111;
}

.sp-thumb-video {
    position: relative;
    overflow: hidden;
}

/* постер-кадр растягиваем фоном на всю миниатюру */
.sp-thumb-video > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sp-video-thumb-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 2px 10px rgba(0, 0, 0, .18);
}

.sp-video-thumb-play::after {
    content: "";
    position: static;   
    top: auto;
    left: auto;
    transform: none; 
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 10px solid #2f3a40;
    margin-left: 2px;
}

.sp-video-thumb-placeholder {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #3a4247, #161a1d);
}

/* =========================================================
   ОСТАТКИ НА КАРТОЧКЕ ПЛИТКИ (плагин cv2-stock)
   ========================================================= */

.sp-stock-wrap { display: flex; flex-direction: column; gap: 8px; margin-top: 15px; }

/* Публичная плашка остатка */
.sp-stock-badge {
    display: inline-flex;
    gap: 3px;
    color: #24282b;
    font-size: 12px;
    font-weight: 600;
    width: fit-content;
}
.sp-stock-badge-low {
    border-color: #e0b84a; color: #a8863f;
}
.sp-stock-badge i { font-size: 14px; }

/* Точный остаток — только для залогиненных менеджеров */
.sp-stock-manager {
    display: inline-block;
    font-size: 12px; color: #888; cursor: default;
}
.sp-stock-manager-val { border-bottom: 1px dashed currentColor; }

/* Тултип истории за 7 дней */
.sp-stock-history-tip { width: 180px; text-align: left; padding: 12px 14px; }
.sp-stock-history-title {
    display: block; margin-bottom: 8px; padding-bottom: 8px;
    border-bottom: 1px solid rgba(255,255,255,.15);
    font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em;
    opacity: .75;
}
.sp-stock-history-row {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; padding: 3px 0; font-size: 12px;
}
.sp-stock-history-row span { opacity: .7; }
.sp-stock-history-row b { font-weight: 600; }

.sp-stock-manager.sp-tooltip-wrap { position: relative; }
.sp-stock-manager .sp-tooltip {
    left: 0; right: auto; transform: none;
    width: max-content; max-width: calc(100vw - 32px);
}
.sp-stock-manager .sp-tooltip::after { display: none; }

/* === ЦЕНА (единый блок для всех карточек) === */
.cv2-price { display: flex; flex-wrap: wrap; gap: 8px; align-items: center;}
.cv2-price-old { font-size: 16px;color: var(--color-text);font-weight: 600; text-decoration: line-through; }
.cv2-price-now { font-size: 18px; font-weight: 700; color: var(--color-text); line-height: 1.2; }
.cv2-price-unit { font-size: 13px; font-weight: 400; }
.cv2-price.has-sale .cv2-price-now { color: #e86a17; }

.cv2-price-badge {
    padding: 3px 9px;
    background: linear-gradient(135deg, #e86a17 0%, #f28c1e 65%, #f5a623 100%);
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    line-height: 1.35;
    letter-spacing: .02em;
    box-shadow: 0 2px 4px rgba(240, 79, 125, .28);
}

/* === ФОРМА ЗАКАЗА === */
.cv2-order { padding: 20px 22px; border: 1px solid #e0ddd8; border-radius: 12px; background: #fff; margin-bottom: 24px; }
.cv2-order [hidden] { display: none !important; }
.cv2-order-body { display: flex; flex-direction: column; gap: 10px; overflow: hidden; transition: height .32s ease, opacity .22s ease; padding: 0 4px; margin: 0 -4px; }
.cv2-order-body.cv2-order-hide { pointer-events: none; }

.cv2-order-title { font-size: 14px;font-weight: 600;text-transform: uppercase;color: var(--color-text); }
.cv2-order-label { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--color-text); margin-top: 4px; }

.cv2-order-inp { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid #e0ddd8; border-radius: 8px; background: #fff; font-family: inherit; font-size: 14px; color: var(--color-text); transition: border-color .15s, background .15s; }
.cv2-order-inp::placeholder { color: #aab0b5; }
.cv2-order-inp:focus { outline: none; }
.cv2-order-area { min-height: 70px; resize: vertical; }

.cv2-order-qty-wrap { position: relative; }
.cv2-order-qty-wrap .cv2-order-inp { padding-right: 40px; }
.cv2-order-qty-wrap i {
    position: absolute; right: 13px; top: 50%; transform: translateY(-50%);
    font-size: 19px; color: #b0ada8; pointer-events: none;
    transition: color .15s;
}
.cv2-order-qty-wrap:has(.cv2-order-inp:not(:placeholder-shown)) i { color: var(--color-text); }

/* Намерения */
.cv2-order-opt { display: flex; align-items: flex-start; gap: 10px; padding: 11px 13px; border: 1px solid #e0ddd8; border-radius: 9px; font-size: 14px; color: #555; line-height: 1.45; cursor: pointer; transition: border-color .15s, background .15s; }
.cv2-order-opt:hover { border-color: #b0ada8; }
.cv2-order-opt span { flex: 1; }

/* Тумблер вместо чекбокса */
.cv2-order-opt input[name="intent[]"] {
    appearance: none; -webkit-appearance: none;
    position: relative; flex-shrink: 0; align-self: center;
    width: 38px; height: 21px; margin: 0;
    border: none; border-radius: 11px; background: #2f3a40;
    cursor: pointer; transition: background .18s;
}
.cv2-order-opt input[name="intent[]"]::after {
    content: '';
    position: absolute; top: 3px; left: 3px;
    width: 15px; height: 15px; border-radius: 50%;
    background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.18);
    transition: transform .18s;
}
.cv2-order-opt input[name="intent[]"]:checked { background: #27ae60; }
.cv2-order-opt input[name="intent[]"]:checked::after { transform: translateX(17px); }

.cv2-order-consent { font-size: 12px; color: #999; line-height: 1.5; text-align: center; }
.cv2-order-consent a { color: #888; text-decoration: underline; }
.cv2-order-consent a:hover { color: var(--color-text); }

.cv2-order-more { align-self: flex-start; background: none; border: none; padding: 6px 0; margin-left: 2px; font-family: inherit; font-size: 14px; color: #2980b9; cursor: pointer; }
.cv2-order-more:hover { color: var(--color-text); }

.cv2-order-btn { padding: 12px 20px; border: none; border-radius: 8px; background:#2f3a40; color: #fff; font-family: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: opacity .15s; }
.cv2-order-btn:hover { opacity: .88; }
.cv2-order-btn:disabled { opacity: .5; cursor: default; }

.cv2-order-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

/* Ошибки */
.cv2-order-err { padding: 10px 13px; border-radius: 8px; background: #fdecea; font-size: 13px; color: #c0392b; line-height: 1.45; }
.cv2-order-inp.err,
.cv2-order-inp.err:focus { border-color: #e74c3c; background: #fffbfb; }
.cv2-order-opt.err,
.cv2-order-opt.err:has(input:checked) { border-color: #e74c3c; background: #fdecea; color: #c0392b; }

@keyframes cv2shake {
    0%, 100% { transform: translateX(0); }
    20%, 60% { transform: translateX(-3px); }
    40%, 80% { transform: translateX(3px); }
}
.cv2-order-shake { animation: cv2shake .32s ease; }

/* Успех */
.cv2-order-done { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 26px 20px; text-align: center; opacity: 0; transform: translateY(8px); transition: opacity .3s ease, transform .3s ease; }
.cv2-order-done.on { opacity: 1; transform: translateY(0); }
.cv2-order-done b { font-size: 17px; color: var(--color-text); }
.cv2-order-done span { font-size: 13px; color: #888; line-height: 1.55; }
.cv2-order-done i {
    font-size: 42px; color: #27ae60; margin-bottom: 6px;
    animation: cv2pop .4s cubic-bezier(.34, 1.56, .64, 1) .15s backwards;
}
@keyframes cv2pop {
    from { transform: scale(0); opacity: 0; }
    to   { transform: scale(1); opacity: 1; }
}

/* Успех */
.cv2-order-done { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 26px 20px; text-align: center; opacity: 0; transform: translateY(8px); transition: opacity .3s ease, transform .3s ease; }
.cv2-order-done.on { opacity: 1; transform: translateY(0); }
.cv2-order-done b { font-size: 17px; color: var(--color-text); }
.cv2-order-done span { font-size: 13px; color: #000; line-height: 1.55; }
.cv2-order-done i {
    font-size: 42px; color: #27ae60; margin-bottom: 6px;
    animation: cv2pop .4s cubic-bezier(.34, 1.56, .64, 1) .15s backwards;
}
@keyframes cv2pop {
    from { transform: scale(0); opacity: 0; }
    to   { transform: scale(1); opacity: 1; }
}
.cv2-order [hidden] { display: none !important; }

/* breadcrumbs */
.cv2-breadcrumbs { max-width: var(--container); padding: 24px 0; display: flex; align-items: center; gap: 4px; font-size: 12px; color: #888; flex-wrap: wrap; }
.cv2-breadcrumbs a { color: #888; text-decoration: none; }
.cv2-breadcrumbs a:hover { color: var(--color-text); }
.cv2-bc-sep { margin: 0 8px; color: #c9c4bc; font-size: 13px; }
.cv2-bc-current { color: var(--color-text);}
.sp-tile-attrs {display: flex;gap: 5px;margin-top: 15px;flex-wrap: wrap;}
.sp-chip {display: inline-flex;align-items: center;font-size: 11px;font-weight: 500;padding: 3px 8px;border-radius: 0;line-height: 1;background: #f0f0f0;color: #555;}
.sale-chip{background: linear-gradient(135deg, #e86a17 0%, #f28c1e 60%, #f5a623 100%);color: white;}
.preorder-chip{display: inline-flex;align-items: center;font-size: 11px;font-weight: 500; padding: 3px 8px;border-radius: 0;line-height: 1;background: #8e44ad;color: #fff;}
.sp-chip:hover {cursor:default;}

.sp-tooltip-wrap { position: relative; cursor: default; }
.sp-tooltip {
    display: none; position: absolute; z-index: 99;
    bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%);
    width: 280px; max-width: calc(100vw - 32px);
    padding: 7px 10px; border-radius: 5px;
    background: #24282b; color: #fff;
    font-size: 11px; font-weight: 400; line-height: 1.4;
    white-space: normal; pointer-events: none;
}
.sp-tooltip::after {
    content: ''; position: absolute;
    top: 100%; left: 50%; transform: translateX(-50%);
    border: 5px solid transparent; border-top-color: #24282b;
}
@media (hover: hover) and (pointer: fine) {
    .sp-tooltip-wrap:hover .sp-tooltip { display: block; }
}

/* === АРХИВ ТАКСОНОМИИ === */
.cv2-tax-wrap { max-width: var(--container); margin: 0 auto; }
.cv2-tax-head { margin-bottom: 2rem; }
.cv2-tax-title { font-size: 28px; font-weight: 700; margin-bottom: 6px; }
.cv2-tax-count { font-size: 13px; color: #888; }
.cv2-tax-empty { padding: 3rem; text-align: center; color: #888; }

/* === КАРТОЧКА КОЛЛЕКЦИИ === */
.cc-grid { display: grid; gap: 24px; }
.cc-card { display: block; text-decoration: none; color: var(--color-text); }
.cc-img {aspect-ratio: 4 / 3; position: relative;}
.cc-img img {width: 100%;height: 100%;object-fit: cover;background: #f5f5f5;overflow: hidden;box-shadow: 0 0 8px rgb(80 80 80 / 20%);}
.cc-img-tile { aspect-ratio: unset; }
.cc-img:hover img { opacity: 0.96; }

/* === ПЛАШКИ (универсальные) === */
.cc-badges { position: absolute; top: 8px; left: 8px; display: flex; flex-direction: row; gap: 4px; }
.cc-badges-left  { top: 8px; left: 8px; }
.cc-badge { font-size: 11px;font-weight: 600;padding: 5px 8px;border-radius: 3px;text-transform: uppercase;display: inline-block; }
.cc-badge-new   { background: #3fab74; color: #fff; }
.cc-badge-sale  { color: #fff;background: linear-gradient(135deg, #e86a17 0%, #f28c1e 60%, #f5a623 100%); }
.cc-badge-promo { background: #f5a623; color: #fff; }
.cc-badge-wait  { background: #8e44ad; color: #fff; }

/* Чипы экспозиции в теле карточки */
.cc-expo { display: flex; flex-wrap: wrap; gap: 4px;margin-bottom:15px;}
.cc-expo-chip { font-size: 11px; padding: 2px 8px; border-radius: 3px; font-weight: 600; line-height: 1.5; }
.cc-expo-yes { background: #eaf6ed; color: #27ae60; }
.cc-expo-no  { background: #fb6666; color: #fff; }
.cc-faces {display: flex;flex-wrap: wrap;gap: 5px;margin-top: 6px;align-items: flex-start;padding:5px 0;}
.cc-face {object-fit: cover;border: 1px solid #e0ddd8;}
.cc-body { padding: 10px 0; }
.cc-name { font-size: 18px; font-weight: 600; margin-bottom: 8px; line-height: 1.3; }
.cc-meta { display: flex; align-items: center; gap: 6px; font-size: 14px; margin-bottom: 8px; }
.cc-brand { font-size: 13px;}
.cc-flag { font-size: 14px; }
.cc-props { font-size: 12px; margin-bottom: 8px;}
.cc-dup{font-size: 11px; margin-top: 4px;color: var(--color-text);}

/* =========================================================
   ОБЩЕЕ ДЛЯ СТРАНИЦ ДОСТАВКИ И ОПЛАТЫ
   ========================================================= */
.dl-wrap { padding-bottom: 60px;max-width: var(--container); }

.dl-section { margin: 48px 0; }
.dl-h2 { font-size: 24px; font-weight: 700; color: var(--color-text); margin: 0 0 20px; }

.dl-cta {
    margin-top: 52px;
    border: 1px solid #e0ddd8; border-radius: 12px; background: #faf9f7;
    padding: 32px 34px; text-align: center;
}
.dl-cta-title { font-size: 21px; font-weight: 700; color: var(--color-text); margin-bottom: 8px; }
.dl-cta-txt { font-size: 15px; color: #777; margin-bottom: 20px; }
.dl-cta-phones { display: flex; gap: 14px; justify-content: center; margin-bottom: 14px; }

.dl-cta-msg { display: flex; gap: 12px; justify-content: center; }

/* =========================================================
   СКИДКИ НОВОСЁЛАМ
   ========================================================= */
.nv-wrap { padding-bottom: 60px; }

/* ---- Основная карточка ---- */
.nv-card {
    background: #fff; border-radius: 18px; padding: 36px 34px;
    box-shadow: 0 4px 16px rgba(31,40,45,.08);
}

.nv-head { display: flex; align-items: baseline; gap: 18px; margin-bottom: 10px; flex-wrap: wrap; }
.nv-title { font-size: 38px; font-weight: 800; color: #24282b; margin: 0; letter-spacing: -.01em; }
.nv-percent { font-size: 54px; font-weight: 800; color: #ff6b6b; line-height: 1; letter-spacing: -.02em; }
.nv-sub { font-size: 15px; color: #5a5f62; margin: 0 0 30px; max-width: 520px; line-height: 1.6; }

/* ---- Две колонки ---- */
.nv-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.nv-col-head { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.nv-col-head i { font-size: 19px; }
.nv-col-head b { font-size: 14px; color: #24282b; }
.nv-cols .nv-col:first-child .nv-col-head i { color: #27ae60; }
.nv-cols .nv-col:last-child .nv-col-head i { color: #ff6b6b; }

/* Как получить — построчно, зелёный фон */
.nv-steps-list { display: flex; flex-direction: column; gap: 9px; }
.nv-step-line {
    padding: 11px 13px; border-radius: 10px;
    background: #f2fbf5; color: #2c5f42;
    font-size: 12.5px; line-height: 1.5;
}

/* Когда не действует — чипы, красный фон */
.nv-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.nv-chips span {
    padding: 7px 12px; border-radius: 999px;
    background: #fdf0ee; color: #a8453a;
    font-size: 11.5px; font-weight: 600; white-space: nowrap;
}

/* ---- Подвал карточки ---- */
.nv-foot {
    display: flex; align-items: center; justify-content: space-between; gap: 20px;
    margin-top: 26px; padding-top: 20px; border-top: 1px solid #f0ece7;
    flex-wrap: wrap;
}
.nv-foot-note { font-size: 12px; color: #a8a49e; line-height: 1.6; max-width: 440px; }

/* ---- CTA (отдельный блок под карточкой) ---- */
.nv-cta {
    margin-top: 32px; padding: 32px; text-align: center;
    background: #f5f5f5; border-radius: 16px;
}
.nv-cta-title { font-size: 20px; font-weight: 700; color: #24282b; margin-bottom: 6px; }
.nv-cta-txt { font-size: 14px; color: #5a5f62; line-height: 1.6; margin: 0 auto 20px; max-width:680px; }
.nv-cta-phones { display: flex; gap: 10px; justify-content: center; align-items: center; margin-bottom: 14px; }
.nv-cta-phones a {
    font-size: 14px; font-weight: 600; color: #24282b; text-decoration: none;
    border: 1px solid #e2ddd7; background: #fff; border-radius: 9px; padding: 11px 18px;
    transition: border-color .15s, color .15s;
}
.nv-cta-phones a:hover { border-color: #24282b; }
.nv-cta-msg { display: flex; gap: 10px; justify-content: center; align-items: center; }


/* =========================================================
   СТРАНИЦА Контактов
   ========================================================= */
.ct-wrap { padding-bottom: 60px; padding: 0 var(--padding-x); }
/* ---- Салоны ---- */
.ct-salons { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 32px 0 40px 0; }
.ct-salon {
    padding: 20px 22px;
    border: 1px solid #ece7e1; border-radius: 14px;
}

.ct-salon-tag {
    display: inline-block; margin-bottom: 14px;
    padding: 4px 10px; border-radius: 999px;
    background: #24282b; color: #fff;
    font-size: 11px; font-weight: 600; letter-spacing: .03em; text-transform: uppercase;
}
.ct-salon-addr { font-size: 19px; font-weight: 700; color: #24282b; line-height: 1.3; }
.ct-salon-note { margin: 4px 0; font-size: 13px; color: #25282b; }
.ct-salon-row {
    display: flex; align-items: center; gap: 5px;
    font-size: 14px;
}
.ct-salon-row:first-of-type { margin-top: 16px; padding-top: 16px; border-top: 1px solid #e6e6e6; }
.ct-salon-row + .ct-salon-row { margin-top: 9px; }
.ct-salon-row i { font-size: 17px; color: #a8a49e; }
.ct-salon-walk {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    font-weight: 400;
}

.ct-salon-phone {
    display: block; margin: 18px 0 14px;
    font-size: 20px; font-weight: 750; color: #24282b;
    letter-spacing: -.01em; text-decoration: none;
}
.ct-salon-route {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 10px 16px; border-radius: 9px;
    background: #ebebeb; color: #24282b;
    font-size: 13px; font-weight: 600; text-decoration: none;
}
.ct-salon-route i { font-size: 16px; }
.ct-salon-route:hover { background: #e2e2e2; }
/* ---- Карта ---- */
.ct-map { margin: 32px 0; border-radius: 12px; overflow: hidden; }
.ct-map iframe { width: 100%; height: 440px; border: 0; display: block; }
/* ---- Мессенджеры ---- */
.ct-messengers { margin: 40px 0; }
.ct-messengers-title { font-size: 20px; font-weight: 700; margin-bottom: 16px; }
.ct-messengers-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.cv2-msg-ig {
    background: #fce4ef;
}
.cv2-msg-ig img {
    border-radius: 50%;
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
}

.ct-msg-mail {
    display: inline-flex; align-items: center; gap: 9px;
    height: 44px; padding: 0 18px;
    border-radius: 10px; background: #f5f5f5;
    color: #24282b; font-size: 14px; font-weight: 500; text-decoration: none;
}
.ct-msg-mail i { font-size: 22px; color: #8b8884; }
/* ---- Реквизиты ---- */
.ct-req {
    margin: 40px 0; padding: 22px 24px;
    border: 1px solid #ece7e1; border-radius: 14px; background: #f5f5f5;
}
.ct-req-title { margin-bottom: 16px; font-size: 18px; font-weight: 700; color: #24282b; }
.ct-req-list { display: grid; grid-template-columns: 190px 1fr; gap: 8px 16px; margin: 0; }
.ct-req-list dt { font-size: 14px; color: #24282b; }
.ct-req-list dd { margin: 0; font-size: 15px; color: #24282b; word-break: break-word; }


/* =========================================================
   СТРАНИЦА ДОСТАВКИ
   ========================================================= */

.dl-section-first { margin-top: 32px; }
.dl-h2-sub { font-size: 12px; font-weight: 700; letter-spacing: .03em; margin-left: 8px; background: #f5f5f5;padding: 6px 12px;border-radius: 14px;}

/* ---- Зоны ---- */
.dl-zones { display: inline-flex; gap: 0; margin-bottom: 22px; border: 1px solid #e2ddd7; border-radius: 12px; overflow: hidden; }
.dl-zone { display: flex; flex-direction: column; text-align: left; padding: 12px 22px; border: none; background: #fff; cursor: pointer; transition: background .15s, color .15s; }
.dl-zone + .dl-zone { border-left: 1px solid #e2ddd7; }
.dl-zone i { display: none; }
.dl-zone span { font-size: 15px; font-weight: 600; color: #24282b; }
.dl-zone em { font-style: normal; font-size: 12px; color: #a8a49e; margin-top: 2px; }
.dl-zone.on { background: #24282b; }
.dl-zone.on span { color: #fff; }
.dl-zone.on em { color: rgba(255,255,255,.6); }
.dl-zone-body { display: none; }
.dl-zone-body.on { display: block; }

/* ---- Карточки (цены + разгрузка в дом — общий класс) ---- */
.dl-price-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.dl-pc {
    background: #fff; border-radius: 16px; padding: 22px 24px;border:1px solid #e2ddd7;
    box-shadow: 0 2px 8px rgba(31,40,45,.06), 0 1px 2px rgba(31,40,45,.05);
}
.dl-pc-best {
    background: linear-gradient(160deg,#f4fcf7,#eaf7ef);
    box-shadow: 0 2px 10px rgba(39,174,96,.12), 0 0 0 1.5px #7ac99b inset;
}
.dl-pc-eyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: #505050; margin-bottom: 8px; }
.dl-pc-best .dl-pc-eyebrow { color: #5cae7f; }
.dl-pc-cond { font-size: 15px; font-weight: 600; color: #24282b; margin-bottom: 14px; }
.dl-pc-val { font-size: 28px; font-weight: 750; color: #24282b; line-height: 1.1; margin-bottom: 8px; letter-spacing: -.01em; }
.dl-pc-val small { font-size: 16px; font-weight: 600; }
.dl-pc-val-sm { font-size: 28px; font-weight: 700; }
.dl-pc-free { color: #1e8449; }
.dl-pc-note { font-size: 12px; color: #8b8884; line-height: 1.5; }
.dl-pc-best .dl-pc-note { color: #6b9a7e; }

/* ---- Промо «Своя служба» — двухколоночная, тёмная, с иконками ---- */
.dl-own {
    display: grid; grid-template-columns: 320px 1fr;
    margin: 48px 0;
    background: linear-gradient(135deg,#2b3034,#1b1f22);
    border-radius: 18px; overflow: hidden;
    box-shadow: 0 10px 30px rgba(28,32,35,.2);
}
.dl-own-left { padding: 30px 32px; border-right: 1px solid rgba(255,255,255,.08); }
.dl-own-icon {
    display: flex; align-items: center; justify-content: center;
    width: 52px; height: 52px; margin-bottom: 18px;
    border-radius: 14px; background: rgba(253,214,117,.13);
}
.dl-own-icon i { font-size: 28px; color: #fdd675; }
.dl-own-title { font-size: 20px; font-weight: 750; color: #fff; line-height: 1.25; margin-bottom: 10px; }
.dl-own-txt { font-size: 13.5px; color: #9ca0a3; line-height: 1.6; }
.dl-own-right { display: flex; flex-direction: column; justify-content: center; padding: 12px 30px; }
.dl-own-item { display: flex; gap: 14px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.07); }
.dl-own-item:last-child { border-bottom: none; }
.dl-own-item > i { font-size: 22px; color: #fdd675; flex-shrink: 0; margin-top: 1px; }
.dl-own-item b { display: block; font-size: 14px; font-weight: 600; color: #fff; margin-bottom: 3px; }
.dl-own-item div { font-size: 12.5px; color: #9ca0a3; line-height: 1.5; }


.dl-own-item a { color: #fdd675; text-decoration: none; }
.dl-own-item a:hover { text-decoration: underline; }

/* ---- Юридическая плашка ---- */
.dl-legal {
    display: flex; gap: 11px;
    margin-bottom: 48px; padding: 16px 18px;
    border: 1px solid #efe9dc; border-radius: 12px; background: #fbf9f4;
}
.dl-legal i { font-size: 19px; color: #c9a86a; flex-shrink: 0; margin-top: 1px; }
.dl-legal div { font-size: 12.5px; color: #6b6456; line-height: 1.6; }
.dl-legal a { color: #a8863f; }

/* ---- Подъём на этаж ---- */
.dl-lift-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.dl-lift-col { border: 1px solid #ece7e1; border-radius: 14px; background: #fff; overflow: hidden; }
.dl-lift-head { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 14px 20px; background: #f5f5f5; border-bottom: 1px solid #ece7e1; font-size: 15px; font-weight: 600; color: #24282b; }
.dl-lift-head span { display: flex; align-items: center; gap: 9px; }
.dl-lift-head em { font-style: normal; font-size: 11px; font-weight: 500; color: #a8a49e; text-align: right; }
.dl-lift-head i { font-size: 19px; color: #8b8884; }
.dl-lift-body { padding: 6px 20px 16px; }
.dl-lift-row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid #f2efec; font-size: 14px; }
.dl-lift-row:last-of-type { border-bottom: none; }
.dl-lift-row em { display: block; font-style: normal; font-size: 12px; color: #b0aca6; margin-top: 2px; }
.dl-lift-row b { color: #24282b; white-space: nowrap; font-weight: 600; }
.dl-lift-hint { font-size: 12px; color: #a8a49e; line-height: 1.5; margin-top: 12px; padding-top: 12px; border-top: 1px solid #f2efec; }

/* ---- Шаги ---- */
.dl-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.dl-step { border: 1px solid #ece7e1; border-radius: 14px; background: #fff; padding: 20px 22px; }
.dl-step-num { width: 28px; height: 28px; border-radius: 50%; background: #fdd675; color: #3d2f08; font-size: 14px; font-weight: 700; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }
.dl-step-title { font-size: 15px; font-weight: 700; color: #24282b; margin-bottom: 7px; }
.dl-step-txt { font-size: 13px; color: #8b8884; line-height: 1.55; }
.dl-step-txt a { color: #24282b; text-decoration: underline; }
.dl-step-txt a:hover { text-decoration: none; }

/* ---- Списки в FAQ ---- */
.dl-ul { list-style: none; margin: 0; padding: 0; }
.dl-ul li { position: relative; padding-left: 18px; margin-bottom: 9px; line-height: 1.6; font-size: 14px; color: #5a5f62; }
.dl-ul li:last-child { margin-bottom: 0; }
.dl-ul li::before { content: '-'; position: absolute; left: 0; color: #c9c4bc; }

/* ---- FAQ ---- */
.dl-details { margin-top: 10px; border: 1px solid #ece7e1; border-radius: 14px; background: #fff; padding: 16px 22px; }
.dl-faq .dl-details:first-child { margin-top: 0; }
.dl-details summary { font-size: 15px; font-weight: 600; color: #24282b; cursor: pointer; list-style: none; }
.dl-details summary::-webkit-details-marker { display: none; }
.dl-details summary::before { content: '+ '; color: #b0aca6; }
.dl-details[open] summary::before { content: '– '; }
.dl-details-body { margin-top: 14px; font-size: 14px; color: #5a5f62; line-height: 1.6; }


/* ---- CTA ---- */
.dl-cta { margin-top: 48px; padding: 32px 34px; text-align: center; border-radius: 16px; background: #f5f5f5; }
.dl-cta-title { font-size: 21px; font-weight: 700; color: #24282b; margin-bottom: 6px; }
.dl-cta-txt { font-size: 14px; color: #5a5f62; margin-bottom: 20px; }
.dl-cta-phones { display: flex; gap: 12px; justify-content: center; margin-bottom: 14px; }
.dl-cta-phones a { font-size: 17px; font-weight: 700; color: #fff; text-decoration: none; background: #24282b; border-radius: 10px; padding: 13px 24px; transition: background .15s; }
.dl-cta-phones a:hover { background: #16191b; }
.dl-cta-msg { display: flex; gap: 10px; justify-content: center; }


/* =========================================================
   СТРАНИЦА ОПЛАТЫ
   ========================================================= */

.dl-h2-row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 14px; flex-wrap: wrap; }
.dl-h2-row .dl-h2 { margin-bottom: 0; }
.dl-h2-note { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: #5a5f62; }
.dl-h2-note i { font-size: 15px; color: #8b8884; }

/* ---- Способы оплаты ---- */
.dl-pay-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.dl-pay {
    background: #fff; border-radius: 14px; padding: 18px 16px;border: 1px solid #e2ddd7;
    box-shadow: 0 2px 8px rgba(31,40,45,.06), 0 1px 2px rgba(31,40,45,.05);
}
.dl-pay > i { font-size: 22px; color: #8b8884; }
.dl-pay-title { font-size: 13px; font-weight: 700; color: #24282b; margin-top: 10px; }
.dl-pay-txt { font-size: 11px; color: #8b8884; margin-top: 3px; line-height: 1.4; }

/* ---- Рассрочка ---- */
.dl-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.dl-card {
    position: relative;
    background: #fff; border-radius: 14px; padding: 18px;border: 1px solid #e2ddd7;
    box-shadow: 0 2px 8px rgba(31,40,45,.06), 0 1px 2px rgba(31,40,45,.05);
    text-align: center;
}
.dl-card img { height: 100px; width: auto; margin-bottom: 10px; }
.dl-card-name { font-size: 13px; font-weight: 700; color: #24282b; }
.dl-card-term { font-size: 11px; color: #8b8884; margin-top: 4px; line-height: 1.4; }
.dl-card-zero { font-size: 10px; font-weight: 700; letter-spacing: .02em; color: #1e8449; margin-top: 8px; text-transform: uppercase; }

.dl-card-best {
    border: 1.5px solid #24282b;
    box-shadow: 0 4px 14px rgba(31,40,45,.1);
}
.dl-card-badge {
    position: absolute; top: -9px; left: 50%; transform: translateX(-50%);
    background: #24282b; color: #fff;
    font-size: 9px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase;
    padding: 3px 9px; border-radius: 999px; white-space: nowrap;
}


/* ---- ЕРИП: тёмный номер + путь + QR ---- */
.dl-erip {
    display: grid; grid-template-columns: 180px 1fr auto; gap: 0; align-items: stretch;
    border: 1px solid #ece7e1; border-radius: 16px; padding: 8px;
}
.dl-erip-num-box {
    background: #24282b; border-radius: 12px;
    padding: 22px; display: flex; flex-direction: column;
    align-items: center; justify-content: center; text-align: center;
}
.dl-erip-num-label { font-size: 11px; color: #9ca0a3; margin-bottom: 6px; }
.dl-erip-num-val { font-size: 26px; font-weight: 750; color: #fff; letter-spacing: -.01em; }

.dl-erip-mid { padding: 20px 26px; display: flex; flex-direction: column; justify-content: center; }
.dl-erip-path-label { font-size: 18px;text-transform: uppercase;letter-spacing: .04em;margin-bottom: 24px;font-weight: 750;}
.dl-erip-path { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 13px; color: #24282b; margin: 14px 0; }
.dl-erip-path span { padding: 6px 11px;margin:2px 0; background: #f5f5f5; border-radius: 7px; white-space: nowrap; }
.dl-erip-path i.ti-chevron-right { font-size: 13px; color: #c9c4bc; }
.dl-erip-path .dl-erip-final {
    display: inline-flex; align-items: center; gap: 5px;
    background: #f2fbf5; border: 1px solid #a9dcbc; color: #1e8449; font-weight: 600;
}
.dl-erip-path .dl-erip-final i { font-size: 13px; color: #1e8449; }

.dl-erip-qr { display: flex;align-items: center;padding: 0 22px 0 30px;border-left: 1px solid #ece7e1;margin-left: 22px; }
.dl-erip-qr img {border-radius: 10px; display: block; }
.dl-note { font-size: 13px; color: #888; line-height: 1.75; }
.dl-note-tight { margin-top: 12px; }
.dl-note a { color: #2980b9; text-decoration: none; }
.dl-note a:hover { text-decoration: underline; }


/* === ФУТЕР === */
.cv2-footer { background: #1e282d;color: #fff;padding: 3rem;margin-top: 40px; }
.cv2-footer-inner { max-width: var(--container); margin: 0 auto;}
.cv2-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr; gap: 2.5rem; padding-bottom: 2.5rem; }
.cv2-footer-logo { font-size: 22px; font-weight: 700; letter-spacing: -0.5px; margin-bottom: 4px;text-transform:uppercase; }
.cv2-footer-tagline { font-size: 12px; color: rgba(255,255,255,0.45); margin-bottom: 20px; }
.cv2-footer-contacts { display: flex; flex-direction: column; gap: 12px; margin-bottom: 16px; }
.cv2-footer-salon-addr { font-size: 12px; color: rgba(255,255,255,0.45); margin-bottom: 2px; }
.cv2-footer-phone { font-size: 15px; font-weight: 600; color: #fff; text-decoration: none; }
.cv2-footer-phone:hover { color: rgba(255,255,255,0.75); }
.cv2-footer-hours { font-size: 12px; color: rgba(255,255,255,0.45); margin-bottom: 16px; }
.cv2-footer-socials { display: flex; gap: 8px; }
.cv2-footer-social { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 8px; background: rgba(255,255,255,0.1); color: #fff; text-decoration: none; font-size: 18px; }
.cv2-footer-social:hover { background: rgba(255,255,255,0.2); }
.cv2-footer-col-title { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,0.4); margin-bottom: 14px; }
.cv2-footer-nav { display: flex; flex-direction: column; gap: 9px; }
.cv2-footer-nav a { font-size: 13px; color: rgba(255,255,255,0.7); text-decoration: none; }
.cv2-footer-nav a:hover { color: #fff; }
.cv2-footer-features { display: flex; flex-direction: column; gap: 14px; }
.cv2-footer-feature { display: flex; align-items: flex-start; gap: 10px; font-size: 18px; color: rgba(255,255,255,0.4); }
.cv2-footer-feature-name { font-size: 13px; color: #fff; }
.cv2-footer-feature-sub { font-size: 11px; color: rgba(255,255,255,0.4); }
.cv2-footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); padding: 20px 0; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; }
.cv2-footer-legal { font-size: 12px; color: rgba(255,255,255,0.3); }
.cv2-footer-social img {filter: brightness(0) invert(1);}
.cv2-footer-reviews {
    display: inline-flex; align-items: center; gap: 5px;
    margin-top: 18px; font-size: 12px; font-weight: 600;
    color: rgba(255,255,255,.7); text-decoration: none;
}
.cv2-footer-reviews i { font-size: 13px; }
.cv2-footer-reviews:hover { color: #fff; }
.cv2-totop {
    position: fixed;
    bottom: 36px;
    left: 50%;
    z-index: 90;
    width: 56px; height: 56px;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid #e0ddd8; border-radius: 50%;
    background: #fff; color: var(--color-text);
    cursor: pointer; font-family: inherit;
    box-shadow: 0 2px 10px rgba(0,0,0,.07);
    opacity: 0; visibility: hidden;
    transform: translateX(calc(var(--container) / 2 - 100% + 90px)) translateY(10px);
    transition: opacity .2s, transform .2s, visibility .2s, border-color .15s;
}
.cv2-totop.on {
    opacity: 1; visibility: visible;
    transform: translateX(calc(var(--container) / 2 - 100% + 90px)) translateY(0);
}
.cv2-totop:hover { border-color: #b0ada8; }
.cv2-totop i { font-size: 20px; line-height: 1; }

/* === СТРАНИЦА 3D-ПРОЕКТА === */
.td-wrap { padding-bottom: 60px; }

/* В DOM сначала текст, потом форма — визуально меняем местами */
.td-top { display: grid; grid-template-columns: 400px 1fr; gap: 48px; align-items: start; margin: 28px 0 48px; }
.td-top-left  { grid-column: 2; grid-row: 1; }
.td-top-right { grid-column: 1; grid-row: 1; align-self: start; }

.td-eyebrow {
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
    color: #27ae60; margin-bottom: 12px;
}
.td-title { font-size: 36px; font-weight: 700; color: var(--color-text); margin: 0 0 14px; line-height: 1.15; }
.td-sub { font-size: 16px; line-height: 1.7; margin: 0 0 28px; max-width: 580px; }

.td-feats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.td-feat { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; color: #888; line-height: 1.55; }
.td-feat i { font-size: 22px; color: #27ae60; flex-shrink: 0; margin-top: 1px; }
.td-feat b { display: block; font-size: 15px; font-weight: 700; color: var(--color-text); margin-bottom: 3px; }

.td-section { margin: 48px 0; }
.td-h2 { font-size: 24px; font-weight: 700; color: var(--color-text); margin: 0 0 20px; }

/* Два способа: онлайн и в салоне */
.td-ways { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.td-way { border: 1px solid #e0ddd8; border-radius: 12px; background: #fff; overflow: hidden; }
.td-way-head {
    display: flex; align-items: center; gap: 10px;
    padding: 16px 24px; background: #faf9f7; border-bottom: 1px solid #e0ddd8;
    font-size: 17px; font-weight: 700; color: var(--color-text);
}
.td-way-head i { font-size: 21px; color: #27ae60; }
.td-way-steps { padding: 8px 24px 4px; }
.td-way-step {
    display: flex; align-items: flex-start; gap: 12px;
    padding: 12px 0; border-bottom: 1px solid #f2efeb;
    font-size: 14px; color: #555; line-height: 1.55;
}
.td-way-step:last-child { border-bottom: none; }
.td-way-step b {
    flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%;
    background: #eaf6ed; color: #27ae60;
    font-size: 12px; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    margin-top: 1px;
}
.td-way-note { padding: 14px 24px 20px; font-size: 13px; color: #999; line-height: 1.6; }

.td-need { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.td-need-i {
    display: flex; align-items: center; gap: 10px;
    border: 1px solid #e0ddd8; border-radius: 10px; background: #fff; padding: 16px 18px;
    font-size: 14px; color: #555;min-height: 68px;
}
.td-need-i i { font-size: 20px; color: #c9c4bc; flex-shrink: 0; }

.td-note { font-size: 14px; color: #888; line-height: 1.75; margin-top: 16px; }

.td-salons { margin-top: 48px; }
.td-salons-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.td-salon {
    display: block; text-decoration: none;
    border: 1px solid #e0ddd8; border-radius: 12px; background: #fff; padding: 24px 26px;
    transition: border-color .15s, box-shadow .15s;
}
.td-salon:hover { border-color: #c9c4bc; box-shadow: 0 4px 14px rgba(0,0,0,.05); }
.td-salon-name { font-size: 18px; font-weight: 700; color: var(--color-text); margin-bottom: 5px; }
.td-salon-meta { font-size: 14px; color: #888; margin-bottom: 14px; }
.td-salon-link { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: #27ae60; }


#fancybox-outer {
    box-shadow: 0 0 15px #555;
    -webkit-box-shadow: 0 0 15px #555;
}

.cv2-filter-open,
.cv2-mob-controls,
.cv2-fpanel-head,
.cv2-burger,
#cv2-drawer,
.cv2-drawer-overlay,
.cv2-fpanel-overlay,
.cv2-active-filters,
.cv2-mobile-decor,
.cv2-fcol-summary,
.cv2-filter-apply { display: none; }

/* =========================================================
   АДАПТИВ — все медиазапросы, по убыванию ширины
   ========================================================= */
/* ---------- до 1670px ---------- */
@media (max-width: 1670px) {
 .cv2-totop { left: auto; right: 24px; transform: translateY(10px); }
 .cv2-totop.on { transform: translateY(0); }
}

/* ---------- до 1480px ---------- */
@media (max-width: 1480px) {
   
	.cv2-tax-wrap {padding: var(--padding-x);}
	.sp-wrap {padding: var(--padding-x);}
	.cv2-hero{padding:0 var(--padding-x);}
	.cv2-section{padding:60px var(--padding-x);}
	.cv2-promo-wide{padding:0 var(--padding-x);max-width:none;}
	}	

/* ---------- до 1400px ---------- */
@media (max-width: 1400px) {
    .cv2-hero-h1 span {
        display: inline-block;
        margin-top: 6px;
    }
	.cv2-header-inner{gap:2em;}
}

/* ---------- до 1340px - 1061px ---------- */
@media (max-width: 1330px) and (min-width: 1061px) {
    .cv2-sale-label { font-size: 0; }
    .cv2-sale-label i { font-size: 16px; }
    .cv2-sale-label::after {
        content: "SALE";
        font-size: 12px;
        font-weight: 100;
        letter-spacing: .03em;
    }
}

/* ---------- до 1300px ---------- */
@media (max-width: 1300px) {
    .cv2-msg-label {display: none;}
    .cv2-addr-sub { display: none; }
    .cv2-addr-row span { white-space: nowrap; }
    .cv2-contacts-body { gap: 2px; }
    .cv2-addr-row { gap: 6px; align-items: center; }
    .cv2-addr-row a { margin-left: 4px; align-self: center; }
    .cv2-header-inner { gap: 3em; }
}

/* ---------- до 1180px ---------- */
@media (max-width: 1180px) {
.cv2-search-dropdown {
        min-width: 0;
        left: 0;
        right: 0;
        width: auto;
    }
}

/* ---------- до 1060px ---------- */
@media (max-width: 1060px) {
	 /* Общие отступы от краёв экрана */
    .cv2-section-inner,
    .cv2-results-header,
    .cv2-catalog-more, 
    .cv2-promo-wide {padding: 0 var(--padding-x); box-sizing: border-box;}
    .cv2-section { padding: 40px 0; }
	.cv2-nav-inner{display:none;}

    /* Hero в одну колонку, текст первым */
    .cv2-hero-inner { grid-template-columns: 1fr; margin: 32px auto 32px; min-height: 0;gap: 32px; }
    .cv2-hero-left  { order: 1;border-left: 1px solid #e0ddd8;border-radius: 14px;padding: 1.5rem; }
    .cv2-hero-right { order: 2; border-radius: 14px; }
	.nv-hero-link {background-position-x: right;background-position-y: bottom;}

    /* Товарные сетки */
    .cc-grid-5, .cc-grid-4 { grid-template-columns: repeat(3, 1fr); }
    .cc-grid-3 { grid-template-columns: repeat(2, 1fr); }

    /* 3D-баннер стопкой */
    .cv2-b3d-inner { grid-template-columns: 1fr; gap: 28px; }
    .cv2-b3d-title { font-size: 28px; }
    .td-top { grid-template-columns: 1fr; gap: 32px; }
    .td-top-left  { grid-column: 1; grid-row: 1; }
    .td-top-right { grid-column: 1; grid-row: 2; }
    .td-need { grid-template-columns: repeat(2, 1fr); }

	/* Обёртка Контакты */
    .cv2-tax-wrap { padding-left: 16px; padding-right: 16px; box-sizing: border-box; }

    .ct-salons { grid-template-columns: 1fr; gap: 12px; }
    .ct-salon { padding: 18px; }
    .ct-salon-addr { font-size: 18px; }

    /* Телефон — главная кнопка */
    .ct-salon-phone {
        display: flex; align-items: center; justify-content: center; gap: 8px;
        margin: 16px 0 9px; padding: 13px; border-radius: 10px;
        background: #24282b; color: #fff; font-size: 16px; font-weight: 700;
    }
    .ct-salon-route {
        display: flex; justify-content: center;
        padding: 12px; border-radius: 10px; background: #ebebeb;
    }

    .ct-map { margin: 0 -16px 22px; border-radius: 0; }

    .ct-messengers-btns { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; margin-bottom:40px;}
    .ct-msg-mail {
        flex: 1 1 auto; min-width: 0;
        height: 44px; padding: 0 12px; gap: 7px;
        font-size: 13px;
    }
    .ct-msg-mail span,
    .ct-msg-mail { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .ct-msg-mail i {flex-shrink: 0; }

    .ct-req { margin: 28px 0; padding: 18px 16px; }
    .ct-req-title { font-size: 17px; margin-bottom: 14px; }
    .ct-req-list { grid-template-columns: 1fr; gap: 2px; }
    .ct-req-list dt { font-size: 13px; }
    .ct-req-list dd { margin-bottom: 12px; }
    .ct-req-list dd:last-child { margin-bottom: 0; }


/* ---- Шапка ---- */
	.cv2-topbar{padding: 0 var(--padding-x);}
    .cv2-topbar-inner { justify-content: flex-end; }
    .cv2-topbar-links { display: none; }
    .cv2-header-inner {
        display: flex; flex-wrap: wrap; align-items: center;
        justify-content: space-between;
        gap: 10px; padding: 14px var(--padding-x) 14px; max-width: none;
    }
	.cv2-header-inner::after {
        content: ''; flex-basis: 100%; height: 0; order: 2;
    }
    .cv2-logo { flex: 0 0 auto; margin-right: 0; }
    .cv2-logo img { height: 64px; width: auto; display: block; }
    .cv2-contacts { flex: 1 1 auto; justify-content: center; }
    .cv2-messengers { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; }
    .cv2-messengers .cv2-msg-label { display: none; }
	.cv2-dw-status{display: flex;align-items: center;gap: 8px;font-size: 14px;color: var(--color-text);}
    .cv2-burger {
        flex: 0 0 auto; order: 3;
        display: flex; align-items: center; justify-content: center;
        width: 44px; height: 44px;
        border: 1px solid #e0ddd8; border-radius: 10px;
        background: #fff; padding: 0; cursor: pointer;
        font-size: 24px; color: var(--color-text);
    }
	.cv2-price-label {border:none;}
    .cv2-search { order: 4; flex: 1 0 0;}
    .cv2-search-input-wrap { position: relative; width: 100%; }
    .cv2-search-input {
        width: 100%; box-sizing: border-box; height: 44px; padding: 0 44px 0 14px;
    }
    .cv2-search-input-wrap button {
        position: absolute; right: 0; top: 0; bottom: 0; width: 44px;
        display: flex; align-items: center; justify-content: center;
        border: none; background: none; cursor: pointer;
    }

    /* ---- Футер ---- */
	.cv2-footer-grid {
        grid-template-columns: 270px 1fr 1fr;
        grid-template-rows: auto auto;
        gap: 1.8rem 1.6rem;
    }
    .cv2-footer-col:nth-child(1) { grid-column: 1; grid-row: 1 / 3; }
    .cv2-footer-col:nth-child(2) { grid-column: 2; grid-row: 1; }
    .cv2-footer-col:nth-child(3) { grid-column: 3; grid-row: 1; }
    .cv2-footer-col:nth-child(4) { grid-column: 2; grid-row: 2; }
    .cv2-footer-col:nth-child(5) { grid-column: 3; grid-row: 2; }

    /* ---- Drawer ---- */
    .cv2-drawer-overlay {
        display: block; position: fixed; inset: 0; z-index: 999;
        background: rgba(31,40,45,.5);
        opacity: 0; visibility: hidden;
        transition: opacity .25s, visibility .25s;
    }
     .cv2-drawer-overlay.on {
        opacity: 1; visibility: visible;
        transition: none;
    }

    .cv2-drawer {
        display: flex; flex-direction: column;
        position: fixed; top: 0; left: 0; bottom: 0; z-index: 1000;
        width: 100%; max-width: 420px; background: #fff;
        transform: translateX(-100%); transition: transform .28s ease;
    }
    .cv2-drawer.on { transform: translateX(0); }
	.cv2-drawer { top: 0; }
    .cv2-drawer-head {
        display: flex; align-items: center; justify-content: space-between;
        padding: 13px 16px; border-bottom: 1px solid #edeede; flex-shrink: 0;
    }
    .cv2-drawer-head img { height: 26px; width: auto; display: block; }
    .cv2-drawer-head button { border: none; background: none; padding: 4px; font-size: 24px; color: #888; cursor: pointer; }
    .cv2-drawer-body { flex: 1; overflow-y: auto; padding: 24px 14px 24px; }
	#cv2-drawer { display: flex; }
    .cv2-drawer-overlay { display: block; }

    .cv2-dw-3d {
        display: flex; align-items: center; justify-content: center; gap: 8px;
        padding: 14px; border-radius: 8px; background: #2f3a40; color: #fff;
        font-size: 15px; font-weight: 600; text-decoration: none;
    }
    .cv2-dw-3d i { font-size: 20px; }

    .cv2-dw-label {
        font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em;
        color: #555; margin: 28px 0 8px;
    }

    .cv2-dw-cats { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
    .cv2-dw-cat {
        display: block; border: 1px solid #e0ddd8; border-radius: 8px;
        overflow: hidden; text-decoration: none; color: var(--color-text);
    }
    .cv2-dw-cat-img { display: block; height: 62px; background: #f0eeeb center/cover no-repeat; }
    .cv2-dw-cat-name { display: block; padding: 8px 10px 0; font-size: 13px; font-weight: 600;color:#555; }
    .cv2-dw-cat-sub  { display: block; padding: 2px 10px 8px; font-size: 11px; color: #aab0b5;color:#555; }
    .cv2-dw-cat-name:last-child { padding-bottom: 8px; }

    .cv2-dw-all {
        display: flex; align-items: center; justify-content: center;
        margin-top: 10px; padding: 13px 14px;
        border: 1px solid #e0ddd8; border-radius: 8px;
        font-size: 15px; color: var(--color-text); text-decoration: none;
    }
    .cv2-dw-all i { font-size: 18px; color: #888; }

    .cv2-dw-pair { display: flex;margin-top: 28px; }
    .cv2-dw-pill {
        flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px;
        padding: 12px; border-radius: 8px; font-size: 14px; font-weight: 600; text-decoration: none;
    }
    .cv2-dw-pill i { font-size: 18px; }
    .cv2-dw-pill-sale { background: #fdf0e8; color: #e86a17; border: 1px solid #e86a17;}

    .cv2-dw-chips { display: grid;gap: 7px;margin-top: 20px;grid-template-columns: 1fr 1fr 1fr;}
    .cv2-dw-chips a {
        padding: 8px 12px;
        border-radius: 8px;
        font-size: 13px;
        color: #515151;
        text-decoration: none;
        border: 1px solid #e0ddd8;
    }
    .cv2-dw-chip-accent {color: #ff6b6b !important;font-weight: 600; }

    .cv2-drawer-foot {
        display: flex; align-items: center; gap: 12px; flex-shrink: 0;
        padding: 11px 16px; border-top: 1px solid #edeede; background: #fff;
    }
    .cv2-dw-phones { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
    .cv2-dw-phones a { font-size: 15px; font-weight: 700; color: var(--color-text); text-decoration: none; }
    .cv2-drawer-foot .cv2-msg-icon { width: 44px; height: 44px; flex-shrink: 0; }
    .cv2-drawer-foot .cv2-msg-icon img { width: 36px; height: 36px; }
	.cv2-desk-only { display: none!important; }

 	.dl-h2 { font-size: 20px; }
    .dl-zones { display: flex; width: 100%; }
    .dl-zone { flex: 1; align-items: center; text-align: center; padding: 11px 8px; }
    .dl-zone em { display: none; }

    .dl-price-grid, .dl-price-grid-2 { grid-template-columns: 1fr; gap: 10px; }
    .dl-pc { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; flex-wrap: wrap; }
    .dl-pc-eyebrow { flex: 1 1 100%; margin-bottom: 8px; }
    .dl-pc-cond { margin-bottom: 0; order: 1; flex-shrink: 0; }
    .dl-pc-note { display: none; }
    .dl-pc-val { margin-bottom: 0; order: 2; text-align: right; font-size: 22px; }
    .dl-pc-val-sm { font-size: 15px; }

    .dl-own { grid-template-columns: 1fr; }
    .dl-own-left { border-right: none; border-bottom: 1px solid rgba(255,255,255,.08); padding: 22px 20px; }
    .dl-own-right { padding: 6px 20px 6px; }

    .dl-lift-cols { grid-template-columns: 1fr; gap: 10px; }

    .dl-steps { grid-template-columns: 1fr 1fr; gap: 10px; }
    .dl-step { padding: 16px 18px; }

    .dl-cta { padding: 24px 18px; }
    .dl-cta-phones { flex-direction: column; }

    .dl-legal { padding: 14px 15px; }
	.dl-pay-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .dl-cards { grid-template-columns: 1fr 1fr; gap: 10px; }
    .dl-card-badge { font-size: 8px; padding: 3px 7px; }
    .dl-h2-row { flex-direction: column; align-items: flex-start; gap: 4px; }
    .dl-erip { grid-template-columns: 1fr; gap: 20px; padding: 22px 20px; }
    .dl-erip-qr { order: -1; }

    .cc-faces {display: flex;flex-wrap: wrap;}

    /* Скидки новосёлам */
    .nv-card { padding: 24px 20px; }
    .nv-head { gap: 12px; }
    .nv-title { font-size: 28px; }
    .nv-percent { font-size: 40px; }
    .nv-cols { grid-template-columns: 1fr; gap: 22px; }
    .nv-foot { flex-direction: column; align-items: stretch; text-align: center; gap: 14px; }
    .nv-foot-note { max-width: none; }
    .nv-foot .cv2-btn-primary { text-align: center; }
    .nv-cta { padding: 24px 20px; }

 /* ---- Карточка коллекции ---- */
    .sp-wrap { padding: 0 16px; box-sizing: border-box; }
    .sp-top { grid-template-columns: 1fr; gap: 24px; }
	.sp-tiles{margin-top:0;}
	.sp-side{margin-top:3rem;}
	.sp-section-title {margin: 1rem 0 1rem;}

    /* Баббл — на ширину карточки, стрелка — по центру своего чипа */
    .sp-tile-attrs { position: relative; }
    .sp-tile .sp-tooltip-wrap { position: static; }
    .sp-tile .sp-tooltip {
        left: 0; right: 0; width: auto; max-width: none;
        bottom: auto; top: 100%; transform: none;
        margin-top: 6px; font-size: 12px;
    }
    .sp-tile .sp-tooltip::after {
        display: block;
        top: auto; bottom: 100%;
        left: var(--cv2-tip-x, 50%); right: auto;
        transform: translateX(-50%);
        border: 5px solid transparent;
        border-top-color: transparent; border-bottom-color: #24282b;
    }   

    /* Тултип у знака вопроса — баббл по ширине заголовка, стрелка под знаком */
    .sp-section-title { position: relative; }
    .sp-hint { position: static; }
    .sp-hint .sp-tooltip {
        left: 0; right: 0; width: auto; max-width: none;
        bottom: auto; top: 100%; transform: none;
        margin-top: 6px; font-size: 12px;
    }
    .sp-hint .sp-tooltip::after {
        top: auto; bottom: 100%;
        left: var(--cv2-tip-x, 50%); right: auto;
        transform: translateX(-50%);
        border: 5px solid transparent;
        border-top-color: transparent; border-bottom-color: #24282b;
    }

    /* Медиа: фото сверху, миниатюры лентой под ним */
    .sp-media { flex-direction: column; gap: 10px; min-width: 0; }

    .sp-main-img { order: 1; height: auto; aspect-ratio: 4 / 3; }
    .sp-main-img a { min-width: 0; overflow: hidden; }
    .sp-main-img img { max-width: 100%; max-height: 100%; width: auto; height: auto; }

    .sp-thumbs-wrap { order: 2; min-width: 0; width: 100%; }
    .sp-thumbs-wrap::after { display: none; }
    .sp-thumbs {
        display: flex; gap: 8px; min-width: 0;
        max-height: none;
        overflow-x: auto; overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 2px;
    }
    .sp-thumbs::after { display: none; }
    .sp-thumb { width: 64px; height: 64px; }

    /* Правая колонка */
    .sp-title { font-size: 36px; margin: 24px 0px 6px 0;}
    .sp-badges { margin-bottom: 24px;}

    /* Сетки */
    .sp-tile-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .sp-similar-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .sp-video-list video { max-height: none; }

    /* Порядок блоков на мобиле */
    .sp-wrap { display: flex; flex-direction: column; }
    .sp-top   { display: contents; }
    .sp-right { display: contents; }
     .cv2-breadcrumbs { order: 1; }
    .sp-badges   { order: 2; }
    .sp-media    { order: 3; }
    .sp-head     { order: 4; }
    .sp-tiles    { order: 5; }
    .sp-side     { order: 6; }
    .sp-faces    { order: 7; }
    .sp-optional { order: 8; }
    .sp-similar  { order: 9; }

/* ---- Шапка результатов ---- */
    .cv2-results-header { display: none; }
	#cv2-results { padding-top: 3rem;padding-bottom: 2rem; }
	.cv2-brand-title{}
	.cv2-breadcrumbs {padding:16px 0;}
    .cv2-mob-controls {
        display: flex; align-items: center; gap: 8px;
        width: 100%; box-sizing: border-box;
        position: sticky; top: 0; z-index: 80;
        padding: 10px 16px; background: #fff;
        box-shadow: var(--cv2-shadow-down);
		margin-left: -18px;
        margin-right: -18px;
        width: auto;
    }
    .cv2-view-seg {
        display: flex; flex: 0 0 auto; height: 46px; gap: 0;
        border: 1px solid #e2ddd7; border-radius: 11px;
        overflow: hidden; background: #fff;
    }
    .cv2-view-seg .cv2-view-lbl {
        display: flex; align-items: center; justify-content: center;
        width: 46px; height: 100%; margin: 0; padding: 0;
        border-radius: 0; background: none;
        color: #8b8884; font-size: 19px;
        transition: background .18s, color .18s;
    }
    .cv2-view-seg .cv2-view-lbl > i { display: block; }
    .cv2-view-seg .cv2-view-word { display: none; }
    .cv2-view-seg .cv2-view-lbl-b { border-left: 1px solid #e2ddd7; }
    .cv2-view-seg .cv2-view-sw:not(:checked) ~ .cv2-view-lbl-a,
    .cv2-view-seg .cv2-view-sw:checked ~ .cv2-view-lbl-b { background: #2f3a40; color: #fff; }
    .cv2-sort-select {
        flex: 1 1 auto; min-width: 0; height: 46px;
        padding: 0 34px 0 12px;
        border: 1px solid #e2ddd7; border-radius: 11px; background: #fff;
        font-family: inherit; font-size: 16px; color: #24282b; cursor: pointer;
        appearance: none; -webkit-appearance: none;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%239c9791' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6l6 -6'/%3E%3C/svg%3E");
        background-repeat: no-repeat; background-position: right 10px center; background-size: 17px;
        text-overflow: ellipsis;
    }
    .cv2-sort-select:focus { outline: none; border-color: #24282b; }
    .cv2-filter-open {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
        flex: 0 0 auto;
        height: 46px;
        min-width: 46px;
        padding: 0 12px;
        border-radius: 11px;
        background: #fff;
        color: #000000;
        font-family: inherit;
        font-size: 15px;
        font-weight: 600;
        cursor: pointer;
        border: 1px solid #e2ddd7;
        box-shadow: 0 2px 8px rgba(47, 58, 64, .18);
    }
    .cv2-filter-open i { font-size: 19px; }
    .cv2-filter-open:active { background: #16191b; }
    .cv2-filter-badge {
        display: inline-flex; align-items: center; justify-content: center;
        min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px;
        background: #25282b; color: #fff; font-size: 12px; font-weight: 600;
    }
    .cv2-filter-badge[hidden] { display: none; }
	.cv2-mobile-decor{color:#888;}

    /* ---------- Оверлей и шторка ---------- */
    .cv2-fpanel-overlay {
        display: block; position: fixed; inset: 0; z-index: 998;
        opacity: 0; visibility: hidden;
        background: rgba(20,25,28,.5);
        backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);
        transition: opacity .24s ease, visibility .24s ease;
    }
    .cv2-fpanel-overlay.on { opacity: 1; visibility: visible; }

    .cv2-filter {
        display: flex; flex-direction: column;
        position: fixed; z-index: 999;
        border: none; padding: 0;
        top: auto !important; right: 0; bottom: 0; left: 0;
        width: 100%; max-width: 560px; height: min(92dvh,860px);
        margin: 0 auto; overflow: hidden;
        border-radius: 26px 26px 0 0;
        background: #fff;
        box-shadow: 0 -18px 60px rgba(22,27,30,.2);
                transform: translateY(calc(102% + var(--cv2-drag-y,0px)));
        pointer-events: none;
        transition: transform .32s cubic-bezier(.22,.8,.25,1);
    }
    .cv2-filter.on { transform: translateY(var(--cv2-drag-y,0px)); pointer-events: auto; }
    .cv2-filter.is-dragging { transition: none; }
    body.admin-bar .cv2-filter { max-height: calc(100dvh - 46px); }

    .cv2-fpanel-grip {
        display: block; flex: 0 0 auto;
        width: 44px; height: 5px; margin: 11px auto 0;
        border-radius: 999px; background: #dcd8d2;
    }

    /* ---------- Заголовок ---------- */
    .cv2-fpanel-head {
        display: flex; align-items: center; flex: 0 0 auto;
        min-height: 66px; padding: 12px 20px 6px; gap: 12px;
        border: 0; background: #fff;
        font-size: 24px; line-height: 1; font-weight: 750;
        letter-spacing: -.01em;
    }
        .cv2-fpanel-head #cv2-filter-close {
        display: inline-flex; align-items: center; justify-content: center;
        width: 44px; height: 44px; padding: 0; margin-left: auto; flex-shrink: 0;
        border: 1px solid #e9e4de; border-radius: 50%;
        background: #fff; color: #30373b; font-size: 22px;
        transition: background .18s, transform .18s;
    }
    .cv2-fpanel-head #cv2-filter-close:active { transform: scale(.92); background: #f6f2ed; }

    /* ---------- Лента активных фильтров ---------- */
    .cv2-active-filters {
        display: flex; align-items: center; flex: 0 0 auto;
        gap: 8px; min-height: 50px; box-sizing: border-box;
        position: relative; z-index: 1;
        overflow-x: auto; overflow-y: hidden; padding: 6px 0 14px;
        scroll-padding-left: 20px;
        scroll-snap-align: none;
        contain: layout;
        scrollbar-width: none; scroll-snap-type: x proximity;
        background: #fff;
        box-shadow: var(--cv2-shadow-down);
    }
    .cv2-active-filters::before,
    .cv2-active-filters::after {
        content: ''; flex: 0 0 12px; align-self: stretch;
    }
    .cv2-active-filters::-webkit-scrollbar { display: none; }
    .cv2-active-filters:empty::after {
        content: 'Фильтры не выбраны';
        flex: 0 0 auto; align-self: center;
        line-height: 1; color: #a8a49e; font-size: 13px;
    }
    .cv2-active-chip {
        display: inline-flex;
        align-items: center;
        flex: 0 0 auto;
        scroll-snap-align: start;
        min-height: 30px;
		border: none;
        padding: 0 12px;
        border-radius: 999px;
        background: #f5f5f5;
        color: #3a3c3f;
        font: 600 13px/1 inherit;
        white-space: nowrap;
        animation: cv2-chip-in .2s ease both;
		box-shadow: 0 1px 2px rgba(31,40,45,.08), inset 0 0 0 1px rgba(31,40,45,.05);
    }
    .cv2-active-chip:active { background: #ebe7e2; }

    /* ---------- Список групп ---------- */
    .cv2-filter-inner {
        flex: 1 1 auto; width: 100%; max-width: none; min-height: 0;
        overflow-y: auto; overscroll-behavior: contain;
        padding: 24px 14px 24px; box-sizing: border-box;
        -webkit-overflow-scrolling: touch;
    }
    .cv2-filter-cols {
        display: flex; flex-direction: column; gap: 10px;
        width: 100%; box-sizing: border-box; border: none;
    }
    .cv2-fcol {
        overflow: hidden; border: 1px solid #ece7e1; border-radius: 16px;
        background: #fff; box-shadow: 0 1px 3px rgba(31,40,45,.04);
    }
	.cv2-fcol:last-child{border-right: 1px solid #ece7e1;}

    .cv2-fcol-title {
        display: flex; align-items: center; position: relative; z-index: 1;
        min-height: 64px; padding: 10px 14px; gap: 13px;
        margin-bottom: 0;
        border: 0; background: #fff; cursor: pointer;
        font-size: 16px; font-weight: 700; letter-spacing: 0;
        text-transform: none; color: #24282b;
        transition: margin-bottom .15s ease, box-shadow .15s ease;
    }
    .cv2-fcol-title > i {
        display: inline-flex; align-items: center; justify-content: center;
        flex: 0 0 42px; width: 42px; height: 42px;
        border-radius: 50%; background: #f5f5f5; color: #3c4245;
        font-size: 20px;
    }
    .cv2-fcol-title::after {
        content: ''; order: 5; flex-shrink: 0;
        width: 9px; height: 9px; margin-left: 4px;
        border-right: 2px solid #9c9791; border-bottom: 2px solid #9c9791;
        transform: rotate(45deg) translate(-2px,-2px);
        transition: transform .24s;
    }
    .cv2-fcol.open .cv2-fcol-title::after { transform: rotate(225deg) translate(-2px,-2px); }
	.cv2-fcol.open > .cv2-fcol-title {
        box-shadow: 0 5px 10px -7px rgba(31,40,45,.35);
        margin-bottom: 1em;
    }
    .cv2-fcol-summary {
        max-width: 44%; margin-left: auto; display:block; overflow: hidden;
        color: #8b8884; font-size: 14px; font-weight: 400;
        text-overflow: ellipsis; white-space: nowrap;
    }
    .cv2-fcol-clear {
        order: 4; width: 26px; height: 26px; margin-left: 8px;
        display: none; align-items: center; justify-content: center;
        border: none; border-radius: 50%;
        background: #f5f5f5; color: #4a4f52; font-size: 14px;
    }
    .cv2-fcol-clear.on { display: inline-flex; }

     .cv2-fcol-body {
        display: block; height: auto; max-height: 0; overflow: hidden;
        padding: 0 16px; opacity: 0;
        transition: opacity .15s ease;
    }
    .cv2-fcol.open .cv2-fcol-body {
        max-height: none; padding: 0 16px 16px; opacity: 1;
    }

	.cv2-fcol-inner {
        display: block; column-count: 2; column-gap: 14px;
    }
    .cv2-fcol-inner > .cv2-fopt { break-inside: avoid; }
    .cv2-fopt {
        display: flex; align-items: center; gap: 10px;
        min-height: 44px; padding: 11px 0;
        font-size: 16px; color: #24282b;
    }
    .cv2-fopt input[type="checkbox"] {
        width: 21px; height: 21px; flex-shrink: 0; margin: 0;
        accent-color: #24282b;
    }

    /* ---------- Дополнительно ---------- */
    .cv2-fcol-extra .cv2-fcol-body,
    .cv2-fcol-extra.open .cv2-fcol-body {
        display: block; max-height: none;
        padding: 18px 16px; opacity: 1;
    }
    .cv2-fopt-label {
        margin: 4px 0 10px; padding: 0;
        color: #24282b; font-size: 14px; font-weight: 600;
    }

    /* Ректификат — тёмное активное состояние */
    .cv2-segmented {
        display: grid; grid-template-columns: 1fr 1fr;
        overflow: hidden; border: 1px solid #e2ddd7; border-radius: 12px;
        background: #fff;
    }
    .cv2-segmented .cv2-fopt { min-height: 48px; padding: 0; gap: 0; }
    .cv2-segmented input { position: absolute; opacity: 0; pointer-events: none; }
    .cv2-segmented span {
        display: flex; align-items: center; justify-content: center;
        width: 100%; height: 48px;
        color: #24282b; font-size: 15px; font-weight: 500;
        transition: color .18s, background .18s;
    }
    .cv2-segmented > label:first-child { border-right: 1px solid #e2ddd7; }
    .cv2-segmented input:checked + span {
        background: #24282b; color: #fff; font-weight: 600;
    }

    /* Цена */
    .cv2-price-label { margin-top: 20px; }
    .cv2-price-box { padding: 0; }
    .cv2-price-wrap { position: relative; width: 100%; box-sizing: border-box; }
    .cv2-price-inp {
        width: 100%; height: 50px; padding: 0 44px 0 15px;
        border: 1px solid #e2ddd7; border-radius: 12px;
        background: #fff; font-size: 16px; box-sizing: border-box;
    }
    .cv2-price-inp:focus { outline: none; border-color: #24282b; }
    .cv2-price-clear { right: 8px; }

    /* Распродажа — единственное оранжевое место */
    .cv2-sale {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 56px;
        margin-top: 6px;
        padding: 0 5px;
    }
    .cv2-sale-label { display: inline-flex; align-items: center; gap:  2px; }
    .cv2-sale-label .ti-flame { color: #e86a17; font-size: 18px; }
    .cv2-sale-switch { position: absolute; opacity: 0; pointer-events: none; }
        .cv2-sale-track {
        display: inline-flex; width: 52px; height: 30px;
        border-radius: 15px; background: #ceccc8;
    }
    .cv2-sale-track .cv2-view-knob {
        top: 4px; left: 4px; width: 22px; height: 22px;
    }
    .cv2-sale-switch:checked + .cv2-sale-track .cv2-view-knob { transform: translateX(22px); }
    .cv2-sale-switch:checked + .cv2-sale-track { background: #e86a17; }

    /* ---------- Подвал ---------- */
    .cv2-filter-footer {
        display: flex; align-items: stretch;
        flex: 0 0 auto; position: relative; z-index: 1;
        padding: 20px 14px calc(12px + env(safe-area-inset-bottom));
        border-top: none; background: #fff;
        box-shadow: var(--cv2-shadow-up);
    }
	.cv2-filter-count { display: none; }
	#cv2-filter-reset{display:none;}
    .cv2-filter-reset {
        display: none;
        border: none;
        background: none;
        color: #ff6b6b;
        font-size: 20px;
        font-weight: 750;
        letter-spacing: -.01em;
    }

	.cv2-filter-reset.on::before {
        content: '›'; margin-right: 10px; color: #000; font-weight: 750;
    }
    .cv2-filter-reset.on { display: inline-flex; align-items: center; }
    .cv2-filter-reset:active { background: #fdf0ee; }

        .cv2-filter-apply {
    	display: flex;
    	align-items: center;
    	flex: 0 0 auto;
    	width: 100%;
    	min-height: 44px;
    	border: none;
    	border-radius: 12px;
    	background: #24282b;
    	color: #fff;
    	font-family: inherit;
    	font-size: 16px;
    	font-weight: 400;
    	line-height: 1.2;
    	text-align: center;
    	padding: 0 12px;
    	justify-content: center;
		}
    	.cv2-filter-apply:active { background: #16191b; }
		.dl-erip-qr{padding: 0;border-left:none;margin-left:0;}
		.dl-erip-qr img {margin: 0 auto;}
}

/* ---------- до 1000px ---------- */
@media (max-width: 1000px) {
.cv2-msg-card { padding: 14px 16px; gap: 12px; }
.cc-grid { gap: 14px; }
.sh-stat { grid-template-columns: 1fr; gap: 12px; }
.sh-stat-i { padding: 18px 20px; }
}

/* ---------- до 950px ---------- */
@media (max-width: 950px) {
	.cv2-msg-sub{display:none;}
}


/* ---------- до 900px ---------- */
@media (max-width: 900px) {
    .sp-faces-grid { grid-template-columns: repeat(4, 1fr); }
    .td-ways { grid-template-columns: 1fr; }

}
/* ---------- до 860px ---------- */
@media (max-width: 860px) {
	.cc-grid-5, .cc-grid-4 {grid-template-columns: repeat(2, 1fr);}
	}

/* ---------- до 760px ---------- */
@media (max-width: 760px) {
.cv2-msg-grid {grid-template-columns: 1fr;}
	.cv2-msg-sub{display:inline-block;}
}


/* ---------- до 720px ---------- */
@media (max-width: 720px) {
	.cv2-hero-h1 { font-size: 26px; }
    .cv2-hero-btns { flex-direction: column; }
    .cv2-hero-btns a { text-align: center; }
	.cv2-hero-features { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px;}
    .cv2-totop { right: 14px; bottom: 14px; width: 40px; height: 40px; }
	.cc-grid-3,
    .cc-grid-4,
    .cc-grid-5 { grid-template-columns: repeat(2, 1fr); }
	.cv2-salon { padding: 1.25rem; }
    .cv2-salon-num { font-size: 28px; }
	.cv2-contacts{display:none;}
	.cv2-section-title { font-size: 20px; }
    .cv2-section-sale .cv2-section-title .ti-flame,
    .cv2-section-new  .cv2-section-title .ti-sparkles { font-size: 26px; }
    .cv2-section-more { display: none; }
	.cv2-msg-grid { grid-template-columns: 1fr; gap: 10px; }
    .cv2-msg-card { padding: 14px 16px; gap: 12px; }
	.cc-grid { gap: 14px; }

	.nv-hero-link { flex-direction: column; margin: 12px 0; }
    .nv-hero-num {
        width: auto; flex-direction: row; align-items: center; gap: 10px;
        justify-content: flex-start; padding: 18px 20px;
        font-size: 32px;
    }
    .nv-hero-num::after {
        content: 'Скидки\Aновосёлам'; white-space: pre;
        font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
        color: rgba(255,255,255,.9); line-height: 1.4;
    }
    .nv-hero-body { padding: 16px 20px; }
    .nv-hero-eyebrow { display: none; }
    .nv-hero-title { font-size: 16px; margin-bottom: 6px; }
    .nv-hero-sub { font-size: 12.5px; margin-bottom: 10px; }
    .nv-hero-more { font-size: 12.5px; }

	.cv2-hero-h1 { font-size: 26px; }
    .cv2-hero-btns { flex-direction: column; }
    .cv2-hero-btns a { text-align: center; }
	.cv2-hero-features { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px;}
    .cv2-totop { right: 14px; bottom: 14px; width: 40px; height: 40px; }
	.cc-grid-3,
    .cc-grid-4,
    .cc-grid-5 { grid-template-columns: repeat(2, 1fr); }
	.cv2-salon { padding: 1.25rem; }
    .cv2-salon-num { font-size: 28px; }
	.cv2-section-title { font-size: 20px; }
    .cv2-section-sale .cv2-section-title .ti-flame,
    .cv2-section-new  .cv2-section-title .ti-sparkles { font-size: 26px; }
    .cv2-section-more { display: none; }
	

	.cv2-footer-grid {
        grid-template-columns: 160px 1fr 1fr;
        grid-template-rows: auto auto;
        gap: 1.6rem 1.2rem;margin-left: calc(var(--padding-x) * -1);
        margin-right: calc(var(--padding-x) * -1);
        width: auto;
    }
    .cv2-footer-col:nth-child(1) { grid-column: 1; grid-row: 1 / 3; }
    .cv2-footer-col:nth-child(2) { grid-column: 2; grid-row: 1; }
    .cv2-footer-col:nth-child(3) { grid-column: 3; grid-row: 1; }
    .cv2-footer-col:nth-child(4) { grid-column: 2; grid-row: 2; }
    .cv2-footer-col:nth-child(5) { grid-column: 3; grid-row: 2; }
    .cv2-footer-socials { flex-wrap: wrap; }

	.cv2-messengers {flex: 1 0 auto;}
	.cv2-logo {flex: 1 0 auto;}	
	.cv2-msg-label{display:block!important;}
	.dl-card img {max-height:70px;}
}

/* ---------- до 700px ---------- */
@media (max-width: 700px) {
    .cv2-search { flex: 1 1 auto; max-width: none; margin-right: 0; }
}

/* ---------- до 640px ---------- */
@media (max-width: 640px) {
    .td-title { font-size: 27px; }
    .td-feats, .td-ways, .td-need, .td-salons-grid { grid-template-columns: 1fr; }
}

/* ---------- до 660px ---------- */
@media (max-width: 660px) {
	.cv2-brand-logo{display:none;}
    .cv2-country-flag { display: inline !important; }
}
/* ---------- до 600px ---------- */
@media (max-width: 600px) {
    .cv2-footer-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto auto;
        gap: 20px;
		
    }
    .cv2-footer-col.cv2-footer-brand { grid-column: 1; grid-row: 1;padding-bottom:18px; }
    .cv2-footer-col.cv2-footer-col-features { grid-column: 2; grid-row: 1; }
    .cv2-footer-col.cv2-footer-col-buyers {
        grid-column: 1; grid-row: 2;
        padding: 18px 0; border-top: 1px solid rgba(255,255,255,.08);
    }
    .cv2-footer-col.cv2-footer-col-services {
        grid-column: 2; grid-row: 2;
        padding-top: 18px; border-top: 1px solid rgba(255,255,255,.08);
    }
    .cv2-footer-col.cv2-footer-col-samples {
        grid-column: 1 / -1; grid-row: 3;
        padding-top: 18px; border-top: 1px solid rgba(255,255,255,.08);
    }
    .cv2-footer-col.cv2-footer-col-samples .cv2-footer-nav {
        flex-direction: row; gap: 24px;
    }
	.cc-grid { gap: 24px; }
    .cc-grid-3,
	.cc-grid-4,
    .cc-grid-5 { grid-template-columns: 1fr; }
	    .cv2-footer-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 0;
		padding-bottom: 1.5rem;
    }
	.cv2-msg-label{display:none!important;}

	}

/* ---------- до 560px ---------- */
@media (max-width: 560px) {

    .sh-stat-i { padding: 22px 24px 22px; }
    .sh-stat-head { flex-direction: column; gap: 10px; margin-bottom: 16px; }
    .sh-stat-price { text-align: left; }
    .sh-stat-label { font-size: 19px; }
    .sh-stat-nums { gap: 24px; margin-bottom: 16px; }
    .sh-stat-num b { font-size: 32px; }
    .sh-stat-bg { font-size: 110px; }

    .sp-faces-grid { grid-template-columns: repeat(3, 1fr); }
    .cv2-footer-legal { line-height: 1.6; word-break: break-word; }
	.dl-steps { grid-template-columns: 1fr; }
	.dl-pay-grid { grid-template-columns: 1fr 1fr; }
    .dl-cards { grid-template-columns: 1fr 1fr; }
	.dl-erip-path{flex-direction: column;align-items: flex-start;}
	.dl-erip-path i.ti-chevron-right{font-size: 13px;color: #c9c4bc;transform: rotate(90deg);margin-left: 10px;}

	    /* Скидки новосёлам */
    .nv-title { font-size: 24px; }
    .nv-percent { font-size: 34px; }
    .nv-chips span { white-space: normal; }
    .nv-cta-phones { flex-direction: column; }
    .nv-cta-phones a { width: 100%; text-align: center; }
}


/* ---------- до 425px ---------- */
@media (max-width: 425px) {
.cv2-burger { flex: 0 0 auto; }
    .cv2-search { flex: 1 1 0; min-width: 0; max-width: none; margin-right: 0; }
}

/* ---------- до 420px ---------- */
@media (max-width: 420px) {
	.cc-grid-4{ grid-template-columns: 1fr; }
    .cv2-hero-h1 { font-size: 23px; }
    .cv2-hero-features { grid-template-columns: 1fr; }
    .cv2-salon-name { font-size: 15px; }
    .cv2-salon-num { font-size: 24px; }
    .cv2-b3d-title { font-size: 24px; }
    .sp-tile-grid { grid-template-columns: 1fr; }
    .sp-similar-grid { grid-template-columns: 1fr; }
    .sp-main-img { aspect-ratio: 1 / 1; }
	.cv2-hero-feat{width: fit-content;}
    .cv2-footer-col.cv2-footer-brand,
    .cv2-footer-col.cv2-footer-col-features,
    .cv2-footer-col.cv2-footer-col-buyers,
    .cv2-footer-col.cv2-footer-col-services,
    .cv2-footer-col.cv2-footer-col-samples {
        grid-column: 1;
        grid-row: auto;
    }
    .cv2-footer-col.cv2-footer-col-features,
    .cv2-footer-col.cv2-footer-col-buyers,
    .cv2-footer-col.cv2-footer-col-services,
    .cv2-footer-col.cv2-footer-col-samples {
        padding-top: 18px;
        margin-top: 18px;
        border-top: 1px solid rgba(255,255,255,.08);
    }
    .cv2-footer-col.cv2-footer-col-samples .cv2-footer-nav {
        flex-direction: column;
        gap: 12px;
    }
	
}

/* ---------- до 385px ---------- */
@media (max-width: 385px) {
.cv2-messengers{display:none;}
.cv2-logo {flex: none;}

}

.cv2-filter > .cv2-filter-footer { width: 100%; max-width: var(--container); margin: 0 auto; box-sizing: border-box; }

@keyframes cv2-chip-in { from { opacity: 0; transform: scale(.94) translateY(3px); } to { opacity: 1; transform: scale(1) translateY(0); } }
@keyframes cv2-body-in { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .cv2-filter, .cv2-fpanel-overlay, .cv2-fcol-body, .cv2-active-chip { animation: none !important; transition-duration: .01ms !important; } }
