.price-catalog {
    --price-ink: #101f3b;
    --price-muted: #49617f;
    --price-red: #df0032;
    --price-bright: #ff173d;
    --price-line: #dce5ef;
    --price-shadow: 0 5px 16px rgba(18, 44, 80, .06);
    --lk-line: var(--price-line);
    --lk-red: var(--price-red);
    --lk-muted: var(--price-muted);
    background: radial-gradient(ellipse at top right, #fff 0, transparent 52%), #f5f8fc;
    color: var(--price-ink);
    font-family: Manrope, "Nunito Sans", Arial, sans-serif;
    font-size: 15px;
    line-height: 1.48;
    padding: 18px 0 56px;
}

.price-catalog :is(h1, h2, h3, p, ol):not(:where(.doctor-search *)) { margin: 0; }
.price-catalog a:not(:where(.doctor-search *)) { color: inherit; }
.price-catalog [hidden] { display: none !important; }
.price-catalog :is(a, button, textarea, input, select):focus-visible {
    outline: 3px solid #366ddd;
    outline-offset: 3px;
}
.price-catalog svg:not(:where(.doctor-search *)) { width: 20px; height: 20px; flex-shrink: 0; }
.price-catalog :is(.price-section, #price-popular) { scroll-margin-top: 110px; }

.price-shell { max-width: 1660px; margin: 0 auto; padding: 0 24px; }
.price-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 15px;
}
.price-breadcrumb { min-width: 0; }
.price-breadcrumb ol {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 10px;
    list-style: none;
    padding: 0;
    font-size: 13px;
    line-height: 1.35;
}
.price-breadcrumb li { display: inline-flex; align-items: center; gap: 10px; max-width: 100%; }
.price-breadcrumb li:not(:first-child)::before {
    content: "";
    width: 6px;
    height: 6px;
    border: solid #6d8099;
    border-width: 1.5px 1.5px 0 0;
    transform: rotate(45deg);
    flex: 0 0 auto;
}
.price-breadcrumb li > :is(a, span) {
    border-radius: 30px;
    padding: 7px 13px;
    background: #edf2f9;
}
.price-breadcrumb li > [aria-current] { background: #f9eaf0; font-weight: 750; }
.price-breadcrumb li > .price-home-icon {
    display: grid;
    width: 35px;
    height: 35px;
    padding: 0;
    place-items: center;
    color: var(--price-red);
    background: #fdf0f3;
}
.price-home-icon svg { width: 18px; height: 18px; }

.price-layout {
    display: grid;
    grid-template-columns: clamp(210px, 17vw, 280px) minmax(0, 1fr);
    gap: 15px;
    align-items: start;
}
.price-content { min-width: 0; }
.price-hero-anchor { position: relative; min-width: 0; }
.price-catalog .price-hero-anchor .lk-help-mascot { width: 222px; height: 70px; z-index: 2; }
.price-catalog .price-hero-anchor .lk-help-trigger,
.price-catalog .price-hero-anchor .lk-help-crop { width: 70px; height: 70px; }
.price-catalog .price-hero-anchor .lk-help-trigger img { width: 110px; margin-left: -20px; }
.price-catalog .price-hero-anchor .lk-help-bubble {
    right: 78px;
    top: 2px;
    width: 142px;
    min-height: 60px;
    padding: 8px 10px;
    font-size: 12px;
}
.price-catalog .price-hero-anchor .lk-help-arrow {
    top: 34px;
    left: -12px;
    width: 26px;
    height: 26px;
    font-size: 20px;
    line-height: 1;
}
.price-catalog .price-hero-anchor .lk-help-card { right: 78px; width: min(300px, calc(100vw - 110px)); }
.price-prescription { margin-top: 17px; }
.price-nav {
    display: grid;
    gap: 1px;
    padding: 6px;
    border: 1px solid #e8edf4;
    border-radius: 16px;
    background: rgba(255, 255, 255, .84);
    box-shadow: 0 5px 20px rgba(26, 46, 76, .035);
}
.price-nav > a {
    display: grid;
    grid-template-columns: 43px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    padding: 11px 9px;
    min-height: 62px;
    border-radius: 11px;
    position: relative;
}
.price-nav > a + a::before {
    position: absolute;
    content: "";
    top: 0;
    left: 52px;
    right: 7px;
    height: 1px;
    background: #edf1f7;
}
.price-nav > a:is(:hover, .is-active) { background: #fdf0f3; }
.price-nav > a:is(:hover, .is-active)::before,
.price-nav > a:is(:hover, .is-active) + a::before { display: none; }
.price-nav-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    color: var(--price-red);
    background: #fff0f4;
    border-radius: 50%;
}
.price-nav-icon svg { width: 24px; height: 24px; }
.price-nav strong, .price-nav small { display: block; }
.price-nav strong { font-size: 15px; font-weight: 800; line-height: 1.24; }
.price-nav small { margin-top: 4px; color: var(--price-muted); font-size: 12px; line-height: 1.26; }

.price-hero {
    isolation: isolate;
    position: relative;
    display: grid;
    align-items: center;
    gap: 18px;
    min-height: 200px;
    padding: 24px;
    border: 1px solid #f1e3ed;
    border-radius: 16px;
    background: #fdf3f6;
}
.price-hero--home { z-index: 1; grid-template-columns: minmax(0, 1fr) minmax(185px, 23%); }
.price-hero-main { min-width: 0; }
.price-hero-photo {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
    object-position: center 54%;
}
.price-hero--home::before {
    position: absolute;
    z-index: -1;
    content: "";
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(255, 250, 252, .72), rgba(255, 250, 252, .36) 60%, transparent 86%);
}
.price-hero h1 {
    color: var(--price-ink);
    font-size: clamp(34px, 4.1vw, 56px);
    font-weight: 850;
    line-height: 1.04;
    letter-spacing: -.047em;
}
.price-hero h1 em { font-style: normal; color: var(--price-bright); }
.price-hero p { color: var(--price-muted); }
.price-hero-main > p {
    margin-top: 10px;
    max-width: 510px;
    font-size: clamp(15px, 1.4vw, 19px);
    line-height: 1.45;
}
.price-hero--category {
    min-height: 206px;
    grid-template-columns: minmax(0, 1fr);
    padding: 25px clamp(22px, 3vw, 36px);
    background: linear-gradient(111deg, #fff5f7 0%, #fff0f4 53%, #eeebfc 100%);
    overflow: hidden;
    box-shadow: var(--price-shadow);
}
.price-hero--category .price-hero-main { max-width: 78%; }
.price-hero--category h1 { font-size: clamp(30px, 3.75vw, 52px); }
.price-category-photo {
    position: absolute;
    z-index: -1;
    right: 2.5%;
    width: min(29%, 300px);
    height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
}
.price-hero--custom .price-category-photo {
    top: 0;
    right: 0;
    width: 40%;
    object-fit: cover;
    mix-blend-mode: normal;
    mask-image: linear-gradient(90deg, transparent, #000 35%);
}

.price-city { background: rgba(255, 255, 255, .94); border: 1px solid #ece5f0; border-radius: 12px; box-shadow: var(--price-shadow); }
.price-city-select { display: flex; align-items: center; position: relative; color: var(--price-red); }
.price-city-select select {
    appearance: none;
    color: var(--price-ink);
    background: transparent;
    border-radius: inherit;
    width: 100%;
    min-height: 49px;
    padding: 10px 34px 10px 42px;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
}
.price-city-select svg { position: absolute; pointer-events: none; }
.price-city-select svg:first-child { left: 13px; width: 22px; height: 22px; }
.price-city-select svg:last-child { right: 11px; width: 16px; height: 16px; color: var(--price-muted); }
.price-city-note {
    display: flex;
    gap: 8px;
    align-items: start;
    border-top: 1px solid #f3e7ed;
    padding: 10px 12px 12px;
    color: var(--price-muted);
    background: linear-gradient(#fff9fb, #ffeff4);
    border-radius: 0 0 11px 11px;
    font-size: 12px;
    line-height: 1.42;
}
.price-city-note svg { width: 17px; height: 17px; color: var(--price-red); }
.price-city--compact { box-shadow: none; min-width: 148px; max-width: 205px; }
.price-city--compact select { min-height: 36px; padding-top: 5px; padding-bottom: 5px; font-size: 13px; }

.price-search { position: relative; margin-top: 15px; }
.price-search-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
    align-items: stretch;
    background: #fff;
    border: 1px solid #dce4f0;
    border-radius: 13px;
    box-shadow: var(--price-shadow);
    padding: 3px;
}
.price-search-field { display: flex; align-items: center; min-width: 0; color: #536d91; gap: 8px; padding-left: 12px; }
.price-search-field > svg { width: 22px; height: 22px; }
.price-search-field textarea {
    display: block;
    min-width: 0;
    width: 100%;
    max-height: 144px;
    padding: 11px 4px;
    border: 0;
    background: transparent;
    color: var(--price-ink);
    border-radius: 7px;
    font: inherit;
    line-height: 1.42;
    overflow-y: auto;
    scrollbar-width: none;
    resize: none;
}
.price-search-field textarea::-webkit-scrollbar { display: none; }
.price-search-field textarea::placeholder { color: #536d91; opacity: 1; }
.price-search-clear { flex-shrink: 0; width: 36px; min-height: 42px; color: #536d91; font-size: 23px; }
.price-search-submit { min-width: 122px; }
.price-primary, .price-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 42px;
    border-radius: 10px;
    padding: 8px 14px;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    text-align: center;
    line-height: 1.25;
    cursor: pointer;
    transition: background-color .16s ease, color .16s ease, border-color .16s ease;
}
.price-catalog .price-primary {
    border: 1px solid transparent;
    background: #e30032 linear-gradient(180deg, #f7244a 0%, #e30032 100%);
    color: #fff;
    box-shadow: 0 4px 8px rgba(223, 0, 50, .14);
}
.price-catalog .price-primary:hover { background: #ca002c; }
.price-outline { background: #fff; border: 1px solid #f5a0b1; color: var(--price-red); }
.price-outline:hover { background: #fff0f4; border-color: var(--price-red); }
.price-primary:disabled, .price-outline:disabled { cursor: default; }
.price-good-action [aria-busy="true"], .price-city select:disabled { cursor: progress; opacity: .65; }

.price-suggestions {
    position: absolute;
    z-index: 3;
    top: calc(100% + 4px);
    left: 0;
    width: 100%;
    max-height: 295px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid var(--price-line);
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(21, 43, 74, .14);
}
.price-suggestions button {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    padding: 10px 14px;
    width: 100%;
    text-align: left;
    color: var(--price-ink);
    background: #fff;
}
.price-suggestions button + button { border-top: 1px solid #edf1f7; }
.price-suggestions button:is(:hover, :focus) { background: #f8f2f6; }
.price-suggestions small { color: var(--price-muted); white-space: nowrap; }

.price-section { margin-top: 17px; }
.price-section h2 {
    color: var(--price-ink);
    font-size: clamp(20px, 2.05vw, 28px);
    font-weight: 850;
    line-height: 1.2;
    letter-spacing: -.035em;
}
.price-section-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 7px 14px; }
.price-catalog .price-text-link {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    color: var(--price-red);
    font-size: 13px;
    font-weight: 800;
}
.price-text-link svg { width: 16px; height: 16px; }
.price-text-link:hover, .price-good h3 a:hover { text-decoration: underline; }

.price-scenario-grid, .price-direction-grid, .price-category-grid, .price-goods-grid {
    display: grid;
    gap: 11px;
    margin-top: 10px;
}
.price-scenario-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.price-direction-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.price-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.price-goods-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.price-tone--rose { --price-tile-bg: #fcecf1; --price-tile-accent: #db0031; }
.price-tone--blue { --price-tile-bg: #eaf3ff; --price-tile-accent: #165dbf; }
.price-tone--mint { --price-tile-bg: #e8f8f0; --price-tile-accent: #00734b; }
.price-tone--lilac { --price-tile-bg: #f0edff; --price-tile-accent: #6532c6; }
.price-tone--peach { --price-tile-bg: #fcf1eb; --price-tile-accent: #a74f2c; }
.price-tile {
    position: relative;
    isolation: isolate;
    display: grid;
    align-content: space-between;
    min-width: 0;
    min-height: 126px;
    padding: 13px 12px;
    overflow: hidden;
    border: 1px solid rgba(76, 97, 144, .065);
    border-radius: 13px;
    background: linear-gradient(115deg, rgba(255, 255, 255, .45), transparent 72%), var(--price-tile-bg);
    transition: border-color .16s ease, box-shadow .16s ease;
}
.price-tile:hover { border-color: var(--price-tile-accent); box-shadow: var(--price-shadow); }
.price-tile-name {
    font-size: clamp(13px, 1.24vw, 17px);
    font-weight: 850;
    line-height: 1.22;
    letter-spacing: -.024em;
    overflow-wrap: anywhere;
}
.price-tile > img {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -2;
    width: 54%;
    height: 92%;
    object-fit: contain;
    object-position: center bottom;
    mix-blend-mode: multiply;
}
.price-tile > img.is-custom {
    mix-blend-mode: normal;
    object-fit: cover;
    mask-image: linear-gradient(90deg, transparent, #000 23%);
}
.price-tile--scenario .price-tile-name { max-width: 65%; }
.price-tile--category .price-tile-name { max-width: 69%; }
.price-tile:is(.price-tile--scenario, .price-tile--category)::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    background: linear-gradient(90deg, var(--price-tile-bg), transparent 69%);
    pointer-events: none;
}
.price-tile-arrow {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    color: var(--price-tile-accent);
    background: #fff;
    box-shadow: 0 3px 9px rgba(35, 55, 90, .07);
    margin-top: 8px;
}
.price-tile-arrow svg { width: 17px; height: 17px; }
.price-tile--direction {
    justify-items: center;
    text-align: center;
    grid-template-rows: 66px auto;
    align-content: center;
    gap: 6px;
    min-height: 117px;
    padding: 8px 7px;
}
.price-tile--direction > img { position: static; width: 82px; height: 66px; }
.price-tile--direction > img.is-custom { object-fit: contain; mask-image: none; border-radius: 8px; }
.price-tile--category { min-height: 135px; padding: 15px; }
.price-tile--category .price-tile-name { font-size: clamp(15px, 1.5vw, 20px); }

.price-tabs { display: flex; flex-wrap: wrap; gap: 5px 7px; }
.price-tabs a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 33px;
    border-radius: 20px;
    border: 1px solid var(--price-line);
    background: #fff;
    color: var(--price-muted);
    padding: 4px 13px;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 750;
}
.price-tabs a:hover { border-color: #e90034; }
.price-tabs a[aria-current] { color: #fff; background: #df0032; border-color: #df0032; }

.price-goods-list { display: grid; gap: 7px; margin-top: 10px; }
.price-good {
    display: grid;
    align-items: center;
    gap: 8px 11px;
    padding: 9px 12px;
    min-width: 0;
    border: 1px solid var(--price-line);
    background: #fff;
    border-radius: 12px;
    box-shadow: var(--price-shadow);
}
.price-good--row, .price-good--consultation {
    grid-template-columns: 30px minmax(0, 1fr) minmax(72px, .17fr) minmax(81px, .20fr) minmax(88px, .19fr) auto;
}
.price-good--consultation { background: #fff4f6; }
.price-good--row .price-good-action, .price-good--consultation .price-good-action { grid-column: 6; }
.price-good--row .price-good-price, .price-good--consultation .price-good-price { grid-column: 5; }
.price-good--complex {
    grid-template-columns: 47px minmax(0, 1fr) auto auto;
    padding: 17px 19px;
    gap: 12px 15px;
    min-height: 110px;
}
.price-good--complex .price-good-price { min-width: 105px; border-left: 1px solid var(--price-line); padding-left: 15px; }
.price-good--complex .price-good-price strong { font-size: clamp(22px, 2.5vw, 32px); }
.price-good--card {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: 1fr auto auto;
    align-items: end;
    padding: 12px;
    gap: 5px 6px;
}
.price-good--card .price-good-icon { display: none; }
.price-good--card .price-good-main { grid-column: 1 / -1; align-self: start; }
.price-good--card .price-good-term { grid-column: 1; grid-row: 2; }
.price-good--card .price-good-price { grid-column: 1; grid-row: 3; align-self: center; }
.price-good--card .price-good-action { grid-column: 2; grid-row: 2 / 4; align-self: end; }
.price-good-icon {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    color: var(--price-red);
    border-radius: 50%;
    background: #ffedf2;
}
.price-good--complex .price-good-icon { width: 47px; height: 47px; }
.price-good-icon svg { width: 18px; height: 18px; }
.price-good--complex .price-good-icon svg { width: 23px; height: 23px; }
.price-good-main { min-width: 0; }
.price-good h3 { font-size: 15px; line-height: 1.33; font-weight: 800; overflow-wrap: anywhere; }
.price-good--complex h3 { font-size: clamp(17px, 1.95vw, 25px); }
.price-good-code, .price-good-term, .price-good-note, .price-good-detail { color: var(--price-muted); font-size: 13px; }
.price-good--card .price-good-code { display: block; margin-bottom: 4px; font-size: 12px; }
.price-good .price-good-note { margin-top: 4px; }
.price-good--card .price-good-note { font-size: 12px; }
.price-good-detail { display: flex; gap: 4px 16px; flex-wrap: wrap; margin-top: 6px; }
.price-good-detail span, .price-good-term { display: flex; gap: 5px; align-items: center; }
.price-good-term svg, .price-good-detail svg { width: 15px; height: 15px; color: #5878a4; }
.price-good-price { color: var(--price-muted); font-size: 13px; line-height: 1.25; }
.price-good-price :is(del, strong) { white-space: nowrap; }
.price-good-price del { display: block; font-size: 12px; }
.price-good-price strong { color: var(--price-red); font-size: 19px; font-weight: 850; letter-spacing: -.02em; }
.price-add { min-width: 42px; padding: 7px 10px; }
.price-add svg { width: 22px; height: 22px; }
.price-add .price-cart-icon { fill: currentColor; }
.price-good-action .price-cart-check { display: none; }
.price-good-action .price-add[disabled]:not([aria-busy]) { background: #eff8f2; border-color: #b1d9bf; color: #286043; box-shadow: none; }
.price-good-action .price-add[disabled]:not([aria-busy]) .price-cart-check { display: inline-flex; }
.price-good-action .price-add[disabled]:not([aria-busy]) .price-cart-icon { display: none; }
.price-good:not(.price-good--complex) .price-cart-label,
.price-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.price-catalog .price-message {
    margin-top: 11px;
    padding: 12px 14px;
    border: 1px solid #dce7f5;
    border-radius: 12px;
    background: #eef5fe;
    color: var(--price-muted);
}
.price-message a { color: var(--price-red); text-decoration: underline; font-weight: 750; }
.price-message--help { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 12px; }
.price-message--help strong { color: var(--price-ink); }
.price-message--help svg { color: var(--price-red); }
.price-message--help .price-text-link { text-decoration: none; }

.price-pagination { display: flex; gap: 12px; margin-top: 12px; }
.price-pagination a { color: var(--price-red); font-weight: 750; }

.price-toast {
    position: fixed;
    right: 20px;
    bottom: 22px;
    z-index: 100;
    max-width: min(360px, calc(100vw - 40px));
    padding: 10px 15px;
    border: 1px solid var(--price-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 9px 30px rgba(18, 44, 80, .15);
}
.price-toast a { color: var(--price-red); font-weight: 800; }

@media (min-width: 801px) {
    .price-top {
        min-height: 50px;
        align-items: flex-end;
        margin-bottom: 12px;
        padding-right: 235px;
    }
}

@media (max-width: 1120px) {
    .price-shell { padding: 0 16px; }
    .price-layout { grid-template-columns: 195px minmax(0, 1fr); gap: 12px; }
    .price-nav > a { grid-template-columns: 33px minmax(0, 1fr); gap: 7px; padding: 8px 6px; }
    .price-nav-icon { width: 33px; height: 33px; }
    .price-nav-icon svg { width: 19px; height: 19px; }
    .price-nav strong { font-size: 13px; }
    .price-nav small { font-size: 11px; }
    .price-scenario-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .price-direction-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .price-goods-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .price-hero { padding: 18px; }
}

@media (max-width: 800px) {
    .price-hero-anchor { margin-top: 70px; }
    .price-catalog { padding-top: 11px; }
    .price-layout { display: block; }
    .price-nav {
        display: flex;
        overflow-x: auto;
        gap: 6px;
        margin: 0 0 11px;
        padding: 4px 2px 7px;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        scrollbar-width: thin;
        scrollbar-color: #cbd6e7 transparent;
    }
    .price-nav > a {
        flex: 0 0 auto;
        display: inline-flex;
        gap: 6px;
        padding: 5px 10px 5px 5px;
        min-height: 40px;
        border: 1px solid var(--price-line);
        border-radius: 25px;
        background: #fff;
    }
    .price-nav > a + a::before, .price-nav small { display: none; }
    .price-nav > a:focus-visible { outline-offset: -2px; }
    .price-nav-icon { width: 29px; height: 29px; }
    .price-nav-icon svg { width: 17px; height: 17px; }
    .price-nav strong { font-size: 12px; }
    .price-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 540px) {
    .price-shell { padding: 0 12px; }
    .price-top { flex-wrap: wrap; margin-bottom: 6px; gap: 6px; }
    .price-breadcrumb ol { font-size: 11px; gap: 5px; }
    .price-breadcrumb li { gap: 5px; }
    .price-breadcrumb li > :is(a, span) { padding: 5px 9px; }
    .price-breadcrumb li > .price-home-icon { width: 27px; height: 27px; }
    .price-breadcrumb .price-home-icon svg { width: 15px; height: 15px; }
    .price-city--compact { margin-left: auto; }
    .price-city--compact select { min-height: 33px; }
    .price-hero--home { grid-template-columns: 1fr; gap: 10px; }
    .price-hero-photo { object-position: 63% 50%; }
    .price-hero--home::before { background: linear-gradient(90deg, rgba(255, 250, 252, .95), rgba(255, 250, 252, .60)); }
    .price-hero { padding: 14px; border-radius: 13px; }
    .price-hero h1 { font-size: clamp(28px, 8.2vw, 38px); }
    .price-hero-main > p { margin-top: 7px; font-size: 14px; }
    .price-city:not(.price-city--compact) .price-city-select select { min-height: 40px; }
    .price-city-note { padding-top: 6px; padding-bottom: 7px; }
    .price-search-submit { min-width: 0; padding: 7px 9px; }
    .price-search-submit svg { display: none; }
    .price-search-field { padding-left: 7px; gap: 4px; }
    .price-search-field > svg { width: 17px; height: 17px; }
    .price-search-field textarea { font-size: 16px; }
    .price-search-clear { width: 27px; }
    .price-hero--category { min-height: 154px; }
    .price-hero--category .price-hero-main { max-width: 76%; }
    .price-category-photo { width: 27%; right: 1%; }
    .price-scenario-grid, .price-direction-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .price-scenario-grid, .price-direction-grid, .price-category-grid, .price-goods-grid { gap: 7px; }
    .price-tile { padding: 10px 9px; min-height: 104px; }
    .price-tile-arrow { width: 28px; height: 28px; }
    .price-good--row, .price-good--consultation {
        grid-template-columns: 25px minmax(0, 1fr) auto;
        gap: 4px 7px;
        padding: 8px;
    }
    .price-good--row .price-good-icon, .price-good--consultation .price-good-icon { align-self: start; }
    .price-good--row .price-good-code, .price-good--consultation .price-good-code { grid-column: 2; }
    .price-good--row .price-good-term, .price-good--consultation .price-good-term { grid-column: 2; }
    .price-good--row .price-good-price, .price-good--consultation .price-good-price { grid-column: 2; }
    .price-good--row .price-good-action, .price-good--consultation .price-good-action {
        grid-column: 3;
        grid-row: 1 / span 3;
        align-self: center;
    }
    .price-good--complex { grid-template-columns: 30px minmax(0, 1fr) auto; padding: 11px; gap: 8px; }
    .price-good--complex .price-good-main { grid-column: 2 / -1; }
    .price-good--complex .price-good-icon { width: 30px; height: 30px; align-self: start; }
    .price-good--complex .price-good-icon svg { width: 18px; height: 18px; }
    .price-good--complex .price-good-price { grid-column: 2; padding-left: 0; border: 0; min-width: 0; }
    .price-good--complex .price-good-action { grid-column: 3; }
    .price-good--card { padding: 9px; }
    .price-good--card .price-good-action .price-primary { font-size: 11px; padding: 5px; }
    .price-good h3 { font-size: 14px; }
    .price-good-price strong { font-size: 17px; }
    .price-good-icon { width: 25px; height: 25px; }
    .price-good-icon svg { width: 15px; height: 15px; }
}

@media (prefers-reduced-motion: reduce) {
    .price-catalog * { transition: none; }
}

.price-catalog-popup { --fancybox-zIndex: 100000000; }
.price-catalog-popup .fancybox__backdrop {
    background: rgba(16, 31, 59, .56);
    backdrop-filter: blur(3px);
}
.price-catalog-popup .fancybox__slide { padding: 16px; }

.price-modal.fancybox__content {
    --modal-ink: #101f3b;
    --modal-muted: #49617f;
    --modal-red: #df0032;
    --modal-line: #dce5ef;
    width: min(100%, 620px);
    max-height: calc(100vh - 32px);
    max-height: calc(100dvh - 32px);
    padding: 0;
    overflow: auto;
    overscroll-behavior: contain;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(16, 31, 59, .23);
    background: #fff;
    color: var(--modal-ink);
    font: 15px/1.45 Manrope, "Nunito Sans", Arial, sans-serif;
}
.price-modal--record.fancybox__content { width: min(100%, 515px); }
.price-modal [hidden] { display: none !important; }
.price-modal :is(a, button, input, textarea):focus-visible {
    outline: 2px solid #366ddd;
    outline-offset: 2px;
}
.price-modal__close {
    position: absolute;
    z-index: 1;
    top: 15px;
    right: 15px;
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid #efdae4;
    border-radius: 50%;
    background: #fff;
    color: var(--modal-ink);
    font-size: 23px;
    line-height: 1;
    cursor: pointer;
}
.price-modal__close:hover { color: var(--modal-red); border-color: #eba5b6; }
.price-modal__header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 22px 58px 21px 22px;
    border-bottom: 1px solid #f2e4ed;
    background: linear-gradient(110deg, #fff4f7, #f9eff8 63%, #eef1fc);
}
.price-modal__header h2 {
    margin: 0 0 4px;
    font-size: clamp(23px, 4.8vw, 29px);
    line-height: 1.16;
    font-weight: 850;
    letter-spacing: -.035em;
}
.price-modal__header p { margin: 0; color: var(--modal-muted); }
.price-modal__icon {
    display: grid;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid #f4dce6;
    border-radius: 15px;
    background: #fff;
    color: var(--modal-red);
}
.price-modal__icon svg { width: 24px; height: 24px; }
.price-modal__cart-icon { fill: currentColor; }

.price-modal__body { padding: 19px 22px 22px; }
.price-modal__load-error p { margin: 0 0 12px; }
.price-modal__load-error a { display: inline-block; margin: 8px 0 0 10px; color: var(--modal-red); }

.price-modal__cart-items {
    display: grid;
    gap: 8px;
    max-height: min(42vh, 345px);
    margin: 0;
    padding: 1px 2px;
    overflow: auto;
    list-style: none;
}
.price-modal__cart-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
    align-items: center;
    padding: 11px 10px 11px 13px;
    border: 1px solid var(--modal-line);
    border-radius: 12px;
    background: #fff;
}
.price-modal__cart-item--fee { grid-template-columns: minmax(0, 1fr) auto; background: #f4f8fd; }
.price-modal__cart-name { min-width: 0; }
.price-modal__cart-name :is(strong, small) { display: block; }
.price-modal__cart-name small, .price-modal__cart-price del { color: var(--modal-muted); font-size: 12px; }
.price-modal__cart-name strong { line-height: 1.27; overflow-wrap: anywhere; }
.price-modal__cart-warning {
    margin: 5px 0 0;
    color: #8b4e14;
    font-size: 12px;
    line-height: 1.3;
}
.price-modal__cart-price { text-align: right; white-space: nowrap; color: var(--modal-red); }
.price-modal__cart-price del { display: block; }
.price-modal__remove {
    width: 32px;
    height: 34px;
    border: 1px solid #f1d5df;
    border-radius: 9px;
    color: var(--modal-red);
    background: #fff5f7;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}
.price-modal__remove:disabled { opacity: .5; cursor: progress; }
.price-modal__total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin: 14px 0;
    padding: 11px 14px;
    border-radius: 12px;
    background: #fff2f5;
    font-weight: 750;
}
.price-modal__total strong { color: var(--modal-red); font-size: 23px; }
.price-modal__actions { display: grid; grid-template-columns: 1.1fr 1fr; gap: 8px; }
.price-modal__primary, .price-modal__secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    padding: 8px 14px;
    border: 1px solid transparent;
    border-radius: 10px;
    font: inherit;
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
    cursor: pointer;
}
.price-modal .price-modal__primary {
    color: #fff;
    background: linear-gradient(180deg, #f7244a, #e30032);
    box-shadow: 0 4px 9px rgba(223, 0, 50, .14);
}
.price-modal .price-modal__primary:hover { background: #ca002c; }
.price-modal .price-modal__secondary {
    color: var(--modal-ink);
    border-color: var(--modal-line);
    background: #fff;
}
.price-modal .price-modal__secondary:hover { border-color: #e68ba1; }
.price-modal__continue {
    display: block;
    min-height: 36px;
    margin: 8px auto -4px;
    padding: 5px 12px;
    color: var(--modal-red);
    background: transparent;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
}
.price-modal__empty { display: grid; gap: 13px; justify-items: center; padding: 12px 0; text-align: center; }
.price-modal__empty h3 { margin: 0; font-size: 18px; font-weight: 800; }

.price-modal__service {
    display: grid;
    gap: 2px;
    margin-bottom: 14px;
    padding: 10px 13px;
    border: 1px solid #ebdce7;
    border-radius: 11px;
    background: #fff5f8;
}
.price-modal__service strong { overflow-wrap: anywhere; }
.price-modal__service strong:empty { display: none; }
.price-modal__service small { color: var(--modal-muted); }
.price-modal__form { display: grid; gap: 12px; }
.price-modal__field label { display: grid; gap: 4px; font-weight: 750; }
.price-modal__field :is(input, textarea) {
    width: 100%;
    height: auto;
    min-height: 43px;
    padding: 9px 12px;
    border: 1px solid #d6dfec;
    border-radius: 10px;
    background: #fff;
    color: var(--modal-ink);
    font: inherit;
    font-weight: 500;
}
.price-modal__field textarea { min-height: 76px; max-height: 180px; resize: vertical; }
.price-modal__submit { width: 100%; margin-top: 2px; }
.price-modal__error {
    margin: 0;
    padding: 9px 11px;
    border-radius: 9px;
    background: #fff0f3;
    color: #a5002a;
}

@media (max-width: 480px) {
    .price-catalog-popup .fancybox__slide { padding: 10px; }
    .price-modal.fancybox__content { max-height: calc(100dvh - 20px); border-radius: 15px; }
    .price-modal__header { gap: 9px; padding: 15px 46px 15px 14px; }
    .price-modal__close { top: 10px; right: 9px; width: 32px; height: 32px; }
    .price-modal__icon { flex-basis: 37px; width: 37px; height: 37px; border-radius: 12px; }
    .price-modal__icon svg { width: 20px; height: 20px; }
    .price-modal__body { padding: 13px 14px 14px; }
    .price-modal__cart-item { gap: 7px; padding: 8px; }
    .price-modal__cart-name strong { font-size: 13px; }
    .price-modal__cart-price { font-size: 13px; }
    .price-modal__actions { grid-template-columns: 1fr; }
    .price-modal__field :is(input, textarea) { font-size: 16px; }
}
@media (max-width: 380px) {
    .price-modal__form .g-recaptcha { height: 65px; transform: scale(.84); transform-origin: top left; }
}
