:root {
    --bg: #f3f6fb;
    --surface: #ffffff;
    --text: #152238;
    --muted: #697a94;
    --border: #dde5f0;
    --brand: #2257d6;
    --brand-dark: #193f9b;
    --success: #1f8f56;
    --error: #a23636;
    --info: #1c6c9b;
}

/* Final visual overrides (green marketplace) */
:root {
    --bg: #f2f8f4;
    --surface: #ffffff;
    --text: #13221a;
    --muted: #5b6f62;
    --border: #d9e8dd;
    --brand: #14a551;
    --brand-dark: #0f8b45;
    --success: #0f8b45;
}

body {
    background:
        radial-gradient(1200px 580px at -15% -20%, #dff2e5 0%, transparent 62%),
        radial-gradient(1000px 500px at 110% -10%, #ecf8ef 0%, transparent 58%),
        var(--bg);
}

.topbar-nav-main,
.topbar-nav-user,
.topbar-nav-auth,
.topbar-nav-admin,
.topbar-link,
.btn,
.auth-cta,
.catalog-pagination a,
.catalog-pagination span[aria-current="page"] > span,
.catalog-pagination span[aria-disabled="true"] > span {
    border-radius: 999px;
}

.topbar {
    border-bottom-color: #d7e8dd;
    box-shadow: 0 14px 38px -28px rgba(14, 55, 30, 0.55);
}

.logo,
a,
.topbar-link {
    color: #116a37;
}

a:hover,
.topbar-link:hover {
    color: #0e592f;
}

.topbar-link.is-active {
    background: #ddf2e5;
    border-color: #bfe1cc;
}

.card {
    border-color: #d9e8de;
    border-radius: 22px;
    box-shadow: 0 22px 46px -38px rgba(15, 67, 37, 0.45);
}

.home-promo,
.catalog-hero,
.dealers-hero,
.cabinet-hero,
.favorites-hero,
.admin-dashboard-hero {
    border-radius: 28px;
    border: 1px solid #c7e3d2;
}

.home-promo {
    background: linear-gradient(125deg, rgba(5, 48, 25, 0.94), rgba(10, 97, 46, 0.88) 55%, rgba(22, 147, 73, 0.82));
}

.catalog-hero {
    background:
        linear-gradient(125deg, rgba(8, 53, 28, 0.94), rgba(11, 101, 49, 0.86) 55%, rgba(22, 145, 72, 0.8)),
        url("/images/home/catalog-hero.webp") center/cover no-repeat;
    color: #edfff3;
}

.btn,
.auth-cta {
    background: linear-gradient(120deg, #14a551, #0f8b45);
    color: #fff;
    box-shadow: 0 14px 24px -16px rgba(17, 102, 52, 0.58);
}

.btn:hover {
    background: linear-gradient(120deg, #0f8c45, #0d773b);
}

.btn.secondary {
    background: #e9f7ee;
    color: #116a37;
    border: 1px solid #cde8d6;
    box-shadow: none;
}

input,
select,
textarea {
    border-radius: 14px;
    border-color: #cfe2d4;
    background: #fcfefd;
}

input:focus,
select:focus,
textarea:focus {
    border-color: #7bc897;
    box-shadow: 0 0 0 4px rgba(20, 165, 81, 0.14);
}

.chip {
    background: #def2e5;
    color: #116b37;
}

.price,
.catalog-order-price {
    color: #0f7d40;
}

.admin-table th {
    background: #f2faf5;
    color: #245438;
}

.admin-table tbody tr:hover {
    background: #f6fcf8;
}

/* Green marketplace visual refresh */
:root {
    --bg: #f2f8f4;
    --surface: #ffffff;
    --text: #13221a;
    --muted: #5b6f62;
    --border: #d9e8dd;
    --brand: #14a551;
    --brand-dark: #0f8b45;
    --success: #0f8b45;
    --error: #c13f3f;
    --info: #157fbe;
}

body {
    background:
        radial-gradient(1200px 580px at -15% -20%, #dff2e5 0%, transparent 62%),
        radial-gradient(1000px 500px at 110% -10%, #ecf8ef 0%, transparent 58%),
        var(--bg);
    color: var(--text);
}

.topbar {
    background: rgba(255, 255, 255, 0.94);
    border-bottom: 1px solid #d7e8dd;
    box-shadow: 0 14px 38px -28px rgba(14, 55, 30, 0.55);
}

.logo {
    color: #0f8b45;
}

.topbar .logo {
    display: inline-flex;
    align-items: center;
    line-height: 0;
    text-decoration: none;
}

.topbar .logo img {
    display: block;
    width: 50px;
    height: 50px;
    object-fit: contain;
}

.topbar-nav-main,
.topbar-nav-user,
.topbar-nav-auth {
    border: 1px solid #d7e8dc;
    border-radius: 999px;
    background: linear-gradient(180deg, #ffffff, #f5fbf7);
    box-shadow: 0 14px 26px -24px rgba(16, 84, 45, 0.55);
}

.topbar-nav-admin {
    border: 1px solid #cae4d2;
    border-radius: 999px;
    background: linear-gradient(180deg, #f4fbf6, #eff8f2);
}

.topbar-link {
    color: #18653c;
    border-radius: 999px;
}

.topbar-link:hover {
    color: #0f6e36;
    background: #eaf7ef;
    border-color: #cfe8d7;
}

.topbar-link.is-active {
    color: #0c6231;
    background: #ddf2e5;
    border-color: #bfe1cc;
}

.topbar-counter {
    background: #ddf2e5;
    color: #0f6f37;
}

.auth-cta {
    background: linear-gradient(120deg, #14a551, #0f8c45);
    color: #fff;
    border-radius: 999px;
    box-shadow: 0 14px 22px -16px rgba(18, 102, 53, 0.6);
}

.card {
    border: 1px solid #d9e8de;
    border-radius: 22px;
    box-shadow: 0 22px 46px -38px rgba(15, 67, 37, 0.45);
}

.home-promo,
.catalog-hero,
.dealers-hero,
.cabinet-hero,
.favorites-hero,
.admin-dashboard-hero {
    border-radius: 28px;
    border: 1px solid #c7e3d2;
    box-shadow: 0 30px 50px -38px rgba(14, 70, 35, 0.5);
}

.home-promo {
    background:
        linear-gradient(125deg, rgba(5, 48, 25, 0.94), rgba(10, 97, 46, 0.88) 55%, rgba(22, 147, 73, 0.82));
}

.catalog-hero {
    background:
        linear-gradient(125deg, rgba(8, 53, 28, 0.94), rgba(11, 101, 49, 0.86) 55%, rgba(22, 145, 72, 0.8)),
        url("/images/home/catalog-hero.webp") center/cover no-repeat;
    color: #edfff3;
}

.catalog-hero p,
.home-promo p,
.dealers-hero p,
.cabinet-hero p,
.favorites-hero p {
    color: #cde7d5;
}

.catalog-hero-stats div,
.dealers-hero-kpis div,
.home-kpi {
    border-radius: 16px;
    border: 1px solid rgba(194, 231, 208, 0.5);
    background: rgba(5, 34, 17, 0.3);
}

.filter-card {
    background: linear-gradient(180deg, #fcfffd, #f4fbf6);
}

.btn {
    background: linear-gradient(120deg, #14a551, #0f8b45);
    color: #fff;
    border-radius: 999px;
    padding: 10px 16px;
    box-shadow: 0 14px 24px -16px rgba(17, 102, 52, 0.58);
}

.btn:hover {
    background: linear-gradient(120deg, #0f8c45, #0d773b);
    color: #fff;
}

.btn.secondary {
    background: #e9f7ee;
    color: #116a37;
    border: 1px solid #cde8d6;
}

.btn.secondary:hover {
    background: #dff2e6;
    color: #0f6032;
}

input,
select,
textarea {
    border-radius: 14px;
    border: 1px solid #cfe2d4;
    background: #fcfefd;
}

input:focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: #7bc897;
    box-shadow: 0 0 0 4px rgba(20, 165, 81, 0.14);
}

.chip {
    background: #def2e5;
    color: #116b37;
    border-radius: 999px;
}

.muted-chip {
    background: #edf4ef;
    color: #577063;
}

.reserved-chip {
    background: #fff3d8;
    color: #8a6119;
}

.sold-chip {
    background: #ffe5e5;
    color: #9d3131;
}

.car-card-premium,
.dealer-card,
.admin-kpi,
.timeline-item,
.message {
    border-radius: 20px;
    border: 1px solid #dbe8df;
    background: linear-gradient(180deg, #ffffff, #f8fcf9);
}

.car-photo,
.car-photo-side,
.catalog-list-media {
    border-radius: 16px;
    border: 1px solid #d6e6dc;
}

.price,
.catalog-order-price {
    color: #0f7d40;
}

.catalog-pagination a,
.catalog-pagination span[aria-current="page"] > span,
.catalog-pagination span[aria-disabled="true"] > span {
    border-radius: 999px;
    border-color: #cee3d5;
    background: #f8fcf9;
    color: #1b5f3b;
}

.catalog-pagination span[aria-current="page"] > span {
    background: #ddf2e5;
    border-color: #bcdcc8;
    color: #0f6736;
}

.admin-table th {
    background: #f2faf5;
    color: #245438;
}

.admin-table tbody tr:hover {
    background: #f6fcf8;
}

.flash {
    border-radius: 16px;
    border-width: 1px;
}

.footer-main {
    border-top-color: #d5e6db;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    background:
        radial-gradient(1000px 500px at 0% -20%, #dce8ff 0%, transparent 60%),
        radial-gradient(900px 450px at 100% -10%, #e9f0ff 0%, transparent 55%),
        var(--bg);
    color: var(--text);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.container {
    width: min(1120px, 92%);
    margin: 0 auto;
}

.topbar {
    background: rgba(255, 255, 255, 0.94);
    border-bottom: 1px solid #dbe5f6;
    position: sticky;
    top: 0;
    backdrop-filter: blur(10px);
    z-index: 20;
    box-shadow: 0 10px 28px -24px rgba(17, 39, 86, 0.45);
}

.topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 74px;
    gap: 16px;
}

.topbar-links {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.topbar-links.is-auth {
    display: grid;
    justify-items: end;
    gap: 8px;
}

.topbar-auth-stack {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.topbar-admin-layout {
    width: 100%;
    display: grid;
    gap: 8px;
    justify-items: end;
}

.topbar-admin-mainline,
.topbar-admin-subline {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.logo {
    color: var(--brand);
    text-decoration: none;
    font-weight: 900;
    letter-spacing: 0.02em;
}

nav {
    display: flex;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
}

.topbar-nav {
    gap: 10px;
}

.topbar-nav-main,
.topbar-nav-user,
.topbar-nav-auth {
    padding: 6px;
    border: 1px solid #d8e4f8;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff, #f6f9ff);
    box-shadow: 0 10px 20px -20px rgba(31, 74, 167, 0.5);
}

.topbar-nav-admin {
    padding: 6px 8px;
    border: 1px solid #bcd1fa;
    border-radius: 14px;
    background: linear-gradient(120deg, #edf3ff, #f4f8ff);
    box-shadow: 0 10px 20px -20px rgba(31, 74, 167, 0.5);
}

.topbar-nav-admin .topbar-link {
    font-size: 13px;
    padding: 5px 9px;
}

.topbar-admin-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #385ea9;
    padding: 0 8px 0 4px;
    border-right: 1px solid #c7d7f6;
}

.topbar-user-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 6px 12px;
    border-radius: 12px;
    border: 1px solid #cfe0ff;
    background: linear-gradient(120deg, #eef4ff, #f7faff);
    color: #284883;
    font-size: 13px;
    white-space: nowrap;
}

.topbar-user-badge-label {
    color: #5c7091;
    font-weight: 600;
}

.topbar-user-badge strong {
    font-size: 13px;
    font-weight: 800;
    color: #1c3f92;
}

.topbar-user-name {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 10px;
    border-radius: 10px;
    border: 1px dashed #cddbf6;
    color: #2f4d83;
    font-size: 13px;
    font-weight: 700;
    background: #f8fbff;
}

.topbar-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 6px 11px;
    border-radius: 10px;
    color: #1e4aa7;
    font-weight: 600;
    font-size: 14px;
    border: 1px solid transparent;
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.topbar-counter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    margin-left: 6px;
    padding: 0 5px;
    border-radius: 999px;
    background: #e8f0ff;
    color: #143b93;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}

.topbar-link:hover {
    color: #153b92;
    background: #eef4ff;
    border-color: #cfddf8;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
}

.topbar-link.is-active {
    color: #143b93;
    background: #e8f0ff;
    border-color: #bfd3fb;
}

.topbar-link-ghost {
    border: 1px solid #d8e4f8;
    background: #fff;
    cursor: pointer;
}

a { color: var(--brand); text-decoration: none; }
a:hover { color: var(--brand-dark); }

.page { padding: 28px 0 42px; }
.footer {
    color: var(--muted);
    padding-bottom: 24px;
    display: grid;
    gap: 14px;
}

.footer-main {
    border-top: 1px solid #dbe5f4;
    padding-top: 18px;
    display: grid;
    grid-template-columns: minmax(220px, 1.3fr) repeat(3, minmax(160px, 1fr));
    gap: 16px;
}

.footer-col h3 {
    margin: 0 0 10px;
    font-size: 14px;
    color: #30486f;
}

.footer-nav {
    display: grid;
    gap: 8px;
}

.footer-contact-list {
    display: grid;
    gap: 8px;
}

.footer-social {
    gap: 8px;
}

.footer-bottom {
    border-top: 1px solid #dbe5f4;
    padding-top: 12px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 16px;
}

.footer-legal {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 12px;
}

.footer-legal-text {
    max-width: 760px;
    display: grid;
    gap: 6px;
    font-size: 13px;
    line-height: 1.45;
}

.footer-legal-text p {
    margin: 0;
}

.mvp-auth-demo {
    border: 1px dashed #b7c8e6;
    background: #f6f9ff;
    border-radius: 12px;
    padding: 12px 14px;
    color: #2e466f;
}

.mvp-auth-demo p {
    margin: 0;
}

.mvp-auth-links {
    margin: 10px 0 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.hero {
    display: grid;
    gap: 16px;
    border-radius: 20px;
    padding: 48px;
}

.hero-luxury {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: #0a1430;
    min-height: 560px;
    align-items: end;
}

.hero-luxury::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(100deg, rgba(6, 11, 28, 0.93) 18%, rgba(6, 11, 28, 0.48) 58%, rgba(6, 11, 28, 0.82) 100%),
        url("/images/home/hero.webp") center/cover no-repeat;
    transform: scale(1.04);
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 75% 35%, rgba(66, 144, 255, 0.32), transparent 42%);
}

.hero-content {
    position: relative;
    z-index: 2;
    max-width: 760px;
}

.eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.28);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 12px;
}

.hero-content h1 {
    margin: 0 0 12px;
    font-size: clamp(36px, 7vw, 66px);
    line-height: 1.05;
}

.hero-content h1 span {
    display: block;
    color: #87d9ff;
}

.hero-content p {
    max-width: 640px;
    margin: 0;
    color: #deebff;
    font-size: clamp(16px, 2.6vw, 22px);
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}

.hero-kpis {
    margin-top: 28px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
}

.hero-kpis div {
    border: 1px solid rgba(255, 255, 255, 0.25);
    background: rgba(7, 16, 39, 0.48);
    border-radius: 12px;
    padding: 12px;
}

.hero-kpis strong {
    display: block;
    font-size: 22px;
}

.hero-kpis span {
    font-size: 13px;
    color: #d3e5ff;
}

.section-head {
    margin: 26px 0 12px;
}

.section-head h2 {
    margin: 0 0 8px;
    font-size: clamp(28px, 4vw, 42px);
}

.section-head--catalog {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
}

.section-head--catalog .catalog-sort-form {
    display: flex;
    align-items: flex-end;
    gap: 8px;
}

.section-head--catalog .catalog-sort-label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 14px;
    margin: 0;
}

.section-head--catalog .catalog-sort-label select {
    min-width: 220px;
    padding: 8px 10px;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: var(--surface);
    font: inherit;
    color: inherit;
}

.card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 18px;
    margin-bottom: 16px;
    box-shadow: 0 16px 34px -26px rgba(31, 55, 104, 0.28);
}

.card.nested { margin-bottom: 0; }
.muted { color: var(--muted); }

.grid {
    display: grid;
    gap: 14px;
}

.grid.two { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.grid.three { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }

.showcase {
    position: relative;
    overflow: hidden;
    min-height: 310px;
    color: #fff;
    display: grid;
    align-content: end;
}

.showcase::before {
    content: "";
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transform: scale(1.03);
}

.showcase::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(9, 13, 24, 0.22) 20%, rgba(9, 13, 24, 0.82) 100%);
}

.showcase > * { position: relative; z-index: 2; }

.showcase-japan::before {
    background-image: url("/images/home/showcase-japan.webp");
}

.showcase-korea::before {
    background-image: url("/images/home/showcase-korea.webp");
}

.showcase-europe::before {
    background-image: url("/images/home/showcase-europe.webp");
}

.showcase-label {
    display: inline-block;
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.3);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 8px;
}

.steps {
    margin: 0;
    padding-left: 20px;
    display: grid;
    gap: 8px;
}

.card-dark {
    background: linear-gradient(165deg, #111c3d, #0f1731);
    color: #ecf3ff;
    border-color: #25396b;
}

.card-dark .muted {
    color: #bfd0ef;
}

.benefits {
    margin: 0 0 16px;
    padding-left: 20px;
    display: grid;
    gap: 8px;
}

.trust {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    background: linear-gradient(120deg, #eff4ff, #f8fbff);
}

.catalog-hero {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    padding: 28px;
    margin-bottom: 16px;
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 18px;
    background:
        linear-gradient(105deg, rgba(9, 20, 47, 0.93) 0%, rgba(20, 45, 103, 0.82) 58%, rgba(35, 89, 196, 0.82) 100%),
        url("/images/home/catalog-hero.webp") center/cover no-repeat;
    color: #edf4ff;
}

.catalog-hero h1 {
    margin: 0 0 10px;
    font-size: clamp(30px, 5vw, 50px);
    line-height: 1.1;
}

.catalog-hero p {
    margin: 0;
    color: #d8e8ff;
    max-width: 680px;
}

.eyebrow.dark {
    background: rgba(0, 0, 0, 0.24);
    border-color: rgba(255, 255, 255, 0.32);
    color: #d8eaff;
}

.catalog-hero-stats {
    display: grid;
    gap: 10px;
    align-content: end;
}

.catalog-hero-stats div {
    padding: 12px;
    border-radius: 12px;
    border: 1px solid rgba(202, 224, 255, 0.34);
    background: rgba(5, 12, 30, 0.36);
}

.catalog-hero-stats strong {
    display: block;
    font-size: 24px;
}

.catalog-hero-stats span {
    font-size: 13px;
    color: #cee0ff;
}

.filter-card {
    background: linear-gradient(120deg, #fbfdff, #f5f9ff);
}

.filter-head h2 {
    margin: 0 0 6px;
}

.catalog-cars .car-card-premium {
    position: relative;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.car-photo {
    display: block;
    height: 170px;
    border-radius: 12px;
    margin-bottom: 10px;
    background-color: #e8f0ff;
    background-image: linear-gradient(135deg, #dde8ff, #f2f7ff);
    background-size: cover;
    background-position: center;
    border: 1px solid #dce6f6;
}

.catalog-cars .car-card-premium:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 30px -20px rgba(20, 65, 156, 0.35);
}

.car-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.car-card-link:hover {
    color: inherit;
}

.car-top {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px;
}

.chip {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border-radius: 999px;
    background: #e9f1ff;
    color: #2455c8;
    font-size: 12px;
    font-weight: 700;
}

.muted-chip {
    background: #f0f3f9;
    color: #61728f;
}

.reserved-chip {
    background: #fff4dd;
    color: #9a5b00;
}

.sold-chip {
    background: #ffe6e6;
    color: #a12e2e;
}

.car-title {
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 6px;
}

.price {
    margin: 10px 0;
    font-size: 30px;
    line-height: 1;
    font-weight: 900;
    color: #13388b;
}

.car-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.catalog-line {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}

.catalog-main {
    min-width: 0;
    flex: 1;
}

.catalog-year {
    white-space: nowrap;
    font-size: 13px;
    font-weight: 700;
    color: #5c7091;
    background: #eef3fc;
    border-radius: 999px;
    padding: 5px 10px;
}

.catalog-cars-list {
    grid-template-columns: 1fr;
}

.catalog-cars-list .car-card-premium {
    display: grid;
    gap: 8px;
    padding: 14px;
}

.catalog-list-card {
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 14px;
    align-items: stretch;
}

.catalog-list-media {
    height: 100%;
    min-height: 180px;
    margin-bottom: 0;
}

.catalog-list-body {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.catalog-list-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
}

.catalog-list-main {
    min-width: 0;
    display: grid;
    gap: 6px;
}

.catalog-list-status-row {
    min-height: 28px;
}

.catalog-list-dealer {
    margin: 0;
    padding: 8px 10px;
    border: 1px solid #dce7f6;
    border-radius: 10px;
    background: #fbfdff;
    font-size: 14px;
}

.catalog-list-actions {
    gap: 6px;
    margin-top: auto;
    justify-content: flex-start;
}

.catalog-car-content {
    display: grid;
    gap: 10px;
}

.car-card-horizontal {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
}

.catalog-dealer-info,
.car-card-horizontal .car-actions {
    grid-column: 2;
}

.car-actions-right {
    justify-content: flex-end;
    margin-top: 0;
}

.car-photo-side {
    height: 100%;
    min-height: 180px;
    margin-bottom: 0;
}

.catalog-car-content-side {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    column-gap: 12px;
}

.catalog-car-main {
    min-width: 0;
    display: grid;
    gap: 6px;
}

.catalog-cars-list .car-title {
    font-size: 19px;
    margin-bottom: 0;
}

.catalog-order-row {
    display: grid;
    grid-template-columns: minmax(170px, 1fr) minmax(280px, 2fr) auto auto;
    gap: 12px;
    align-items: start;
}

.catalog-order-main .car-title {
    margin: 0;
}

.catalog-order-desc {
    font-size: 14px;
    line-height: 1.35;
}

.catalog-order-year {
    white-space: nowrap;
    font-size: 13px;
    font-weight: 700;
    color: #5c7091;
    background: #eef3fc;
    border-radius: 999px;
    padding: 5px 10px;
}

.catalog-order-price {
    white-space: nowrap;
    font-size: 24px;
    line-height: 1;
    font-weight: 900;
    color: #13388b;
    margin-top: 2px;
    align-self: start;
}

.catalog-cars-list .catalog-dealer-info {
    margin: 0;
    font-size: 14px;
}

.catalog-cars-list .car-actions {
    gap: 6px;
    margin-top: 4px;
}

.catalog-cars-list .car-actions .btn {
    padding: 8px 12px;
    font-size: 14px;
}

.dealer-card {
    background: linear-gradient(180deg, #ffffff, #f9fbff);
}

.dealers-hero {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 14px;
    align-items: end;
    background: linear-gradient(120deg, #f8fbff, #edf4ff);
}

.dealers-hero h1 {
    margin: 0 0 8px;
}

.dealers-hero p {
    margin: 0;
}

.dealer-accreditation-cta {
    margin-top: 14px;
}

.dealers-hero-kpis {
    display: grid;
    gap: 8px;
}

.dealers-hero-kpis div {
    border: 1px solid #d7e5fb;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.82);
    padding: 10px 12px;
}

.dealers-hero-kpis span {
    display: block;
    color: #5f7395;
    font-size: 12px;
    margin-bottom: 4px;
}

.dealers-hero-kpis strong {
    color: #123a92;
    font-size: 24px;
    line-height: 1.1;
}

.dealers-search-card {
    background: linear-gradient(180deg, #ffffff, #f7faff);
}

.dealers-search-form {
    display: grid;
    grid-template-columns: minmax(260px, 1.4fr) minmax(180px, 1fr) auto;
    gap: 10px;
    align-items: end;
}

.dealers-search-actions {
    display: flex;
    gap: 8px;
    align-items: center;
}

.dealers-country-nav {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.dealers-grid {
    align-items: stretch;
}

.dealer-card-redesign {
    display: flex;
    flex-direction: column;
}

.dealer-top {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
}

.dealer-top h2,
.dealer-top h3 {
    margin: 0;
}

.rating {
    display: inline-block;
    border-radius: 999px;
    padding: 6px 10px;
    background: #fff4df;
    color: #b46d00;
    font-weight: 700;
    font-size: 13px;
}

.dealer-meta {
    display: grid;
    gap: 4px;
    margin-bottom: 14px;
    color: #50617f;
}

.dealer-stats-card h2 {
    margin: 0;
    font-size: 22px;
}

.dealer-stats-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 12px 0;
}

.dealer-stat {
    border: 1px solid #dce7f6;
    border-radius: 10px;
    padding: 10px;
    background: #fbfdff;
}

.dealer-stat span {
    display: block;
    font-size: 12px;
    color: #6f7f9d;
}

.dealer-stat strong {
    display: block;
    margin-top: 4px;
    font-size: 18px;
    color: #143b93;
}

.dealer-stat-stock {
    display: block;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.dealer-stat-stock:hover {
    border-color: #bfd3fb;
    background: #eef4ff;
    box-shadow: 0 10px 18px -16px rgba(24, 76, 188, 0.85);
    transform: translateY(-1px);
}

.dealer-stat-stock:hover span,
.dealer-stat-stock:hover strong {
    color: inherit;
}

.dealer-card-redesign .car-actions {
    margin-top: auto;
}

.dealer-reviews-tile {
    margin: 8px 0 10px;
    padding: 8px 10px;
    border-radius: 10px;
    background: linear-gradient(180deg, #fffdf8 0%, #f8fbff 100%);
    border: 1px solid #e6edf5;
}

.dealer-reviews-tile__line {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    font-size: 0.9rem;
    line-height: 1.35;
}

.dealer-reviews-tile__stars {
    display: inline-flex;
    align-items: center;
    font-weight: 800;
    color: #b56a00;
    letter-spacing: 0.02em;
}

.dealer-reviews-tile__empty {
    margin: 0;
    font-size: 0.86rem;
}

.dealer-profile-card .dealer-profile-review-kpi {
    font-weight: 700;
    color: #1a4d2e;
}

.dealer-reviews-block h2 {
    margin-top: 0;
}

.dealer-review-form {
    margin: 0 0 1rem;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid #d5e6da;
    background: #f9fdfa;
    gap: 0.6rem;
}

.dealer-review-form__hint {
    margin: 0 0 0.25rem;
    font-size: 0.86rem;
}

.dealer-reviews-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.dealer-review-card {
    margin: 0;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid #e2eaf5;
    background: #fbfdff;
}

.dealer-review-card__head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px 10px;
    margin-bottom: 6px;
}

.dealer-review-card__name {
    font-weight: 800;
    color: #152238;
}

.dealer-review-card__stars {
    font-size: 0.9rem;
    font-weight: 800;
    color: #a65d00;
}

.dealer-review-card__body {
    margin: 0 0 6px;
    font-size: 0.95rem;
    line-height: 1.45;
    color: #2a3545;
    white-space: pre-wrap;
}

.dealer-review-card__date {
    margin: 0;
    font-size: 0.8rem;
}

/* ——— Страница дилера (show): герой, отзывы, сетка авто с фото ——— */
.dealer-show-page {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.dealer-show-hero {
    position: relative;
    overflow: hidden;
    border: 1px solid #c5e0d4 !important;
    background: linear-gradient(135deg, #f4fbf7 0%, #e8f4ec 45%, #dff0e6 100%) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.85) inset,
        0 14px 42px -24px rgba(8, 62, 32, 0.35) !important;
}

.dealer-show-hero__bg {
    position: absolute;
    inset: -40% -20% auto auto;
    width: min(72vw, 520px);
    height: min(72vw, 520px);
    border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, rgba(31, 165, 90, 0.22), transparent 62%);
    pointer-events: none;
}

.dealer-show-hero__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(200px, 260px);
    gap: 1.25rem 1.5rem;
    align-items: start;
}

@media (max-width: 820px) {
    .dealer-show-hero__inner {
        grid-template-columns: 1fr;
    }
}

.dealer-show-hero__eyebrow {
    margin: 0 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #1e6b3f;
}

.dealer-show-hero__title {
    margin: 0 0 0.5rem;
    font-size: clamp(1.55rem, 3.2vw, 2.05rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.12;
    color: #062a14;
}

.dealer-show-hero__meta {
    margin: 0 0 0.65rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.5rem;
    align-items: center;
}

.dealer-show-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(12, 92, 46, 0.18);
    color: #0f3d22;
}

.dealer-show-pill--muted {
    font-weight: 600;
    color: #3d5c4a;
    border-color: rgba(61, 92, 74, 0.2);
}

.dealer-show-pill--accent {
    background: linear-gradient(135deg, #fff8e8 0%, #fff2dc 100%);
    border-color: rgba(181, 106, 0, 0.35);
    color: #7a4200;
}

.dealer-show-hero__desc {
    margin: 0 0 1rem;
    font-size: 0.95rem;
    line-height: 1.55;
    color: #1e3328;
    max-width: 52rem;
}

.dealer-show-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.dealer-show-hero__stats {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    padding: 0.85rem 0.9rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(12, 92, 46, 0.15);
    box-shadow: 0 6px 22px -16px rgba(6, 42, 20, 0.35);
}

.dealer-show-stat {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    padding-bottom: 0.55rem;
    border-bottom: 1px solid rgba(12, 66, 36, 0.1);
}

.dealer-show-stat:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.dealer-show-stat__value {
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0a5c2e;
    line-height: 1.1;
}

.dealer-show-stat__label {
    font-size: 0.78rem;
    line-height: 1.3;
    color: #3d5347;
}

.dealer-show-section-head {
    margin-bottom: 1rem;
}

.dealer-show-section-head__title {
    margin: 0 0 0.35rem;
    font-size: clamp(1.2rem, 2.2vw, 1.45rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #062a14;
}

.dealer-show-section-head__sub {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.45;
}

.dealer-show-reviews {
    border: 1px solid #d0e3db !important;
    background: linear-gradient(180deg, #fdfffe 0%, #f5faf7 100%) !important;
}

.dealer-show-reviews-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
    gap: 0.85rem 1rem;
}

.dealer-show-review-card {
    margin: 0;
    padding: 1rem 1.05rem 0.95rem;
    border-radius: 16px;
    border: 1px solid #d5e6de;
    background: linear-gradient(165deg, #ffffff 0%, #f7fbf8 100%);
    box-shadow: 0 4px 18px -12px rgba(8, 48, 28, 0.2);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dealer-show-review-card:hover {
    border-color: #a8d4b8;
    box-shadow: 0 8px 26px -14px rgba(15, 125, 64, 0.22);
}

.dealer-show-review-card__top {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.55rem 0.65rem;
    align-items: center;
    margin-bottom: 0.65rem;
}

.dealer-show-review-card__avatar {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #0a4d28;
    background: linear-gradient(145deg, #d4f0dd 0%, #b8e3c8 100%);
    border: 1px solid rgba(12, 92, 46, 0.2);
}

.dealer-show-review-card__who {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.08rem;
}

.dealer-show-review-card__name {
    font-weight: 800;
    font-size: 0.92rem;
    color: #0f2434;
}

.dealer-show-review-card__city {
    font-size: 0.78rem;
}

.dealer-show-review-card__rating {
    font-size: 0.72rem;
    line-height: 1;
    letter-spacing: -0.06em;
    white-space: nowrap;
}

.dealer-show-star {
    color: #d4dbe3;
}

.dealer-show-star--on {
    color: #c97800;
}

.dealer-show-review-card__body {
    margin: 0 0 0.65rem;
    font-size: 0.9rem;
    line-height: 1.5;
    color: #243033;
}

.dealer-show-review-card__foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem 0.75rem;
    padding-top: 0.45rem;
    border-top: 1px solid rgba(12, 66, 36, 0.08);
}

.dealer-show-review-card__date {
    font-size: 0.78rem;
}

.dealer-show-review-card__badge {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #1e6b3f;
    padding: 0.15rem 0.4rem;
    border-radius: 6px;
    background: rgba(30, 107, 63, 0.1);
}

.dealer-show-cars {
    border: 1px solid #d8e5f0 !important;
    background: linear-gradient(180deg, #fbfdff 0%, #f4f8fc 100%) !important;
}

.dealer-show-car-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
    gap: 1rem 1.1rem;
}

.dealer-show-car-card {
    margin: 0;
    display: flex;
    flex-direction: column;
    border-radius: 18px;
    border: 1px solid #d5e0eb;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 6px 22px -14px rgba(15, 48, 80, 0.22);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.dealer-show-car-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px -16px rgba(15, 48, 80, 0.28);
}

.dealer-show-car-card__media {
    display: block;
    text-decoration: none;
    color: inherit;
}

.dealer-show-car-card__photo {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    background-size: cover;
    background-position: center;
    background-color: #e8edf2;
}

.dealer-show-car-card__body {
    padding: 0.85rem 0.95rem 1rem;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 0.35rem;
}

.dealer-show-car-card__title {
    margin: 0;
    font-size: 1.02rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.dealer-show-car-card__title a {
    color: #0a2540;
    text-decoration: none;
}

.dealer-show-car-card__title a:hover {
    color: #0f7d40;
    text-decoration: underline;
}

.dealer-show-car-card__line {
    margin: 0;
    font-size: 0.84rem;
    line-height: 1.35;
}

.dealer-show-car-card__line--small {
    font-size: 0.78rem;
    line-height: 1.4;
}

.dealer-show-car-card__price {
    margin: 0.25rem 0 0;
    font-size: 1.12rem;
    font-weight: 800;
    color: #064c22;
}

.dealer-show-car-card__btn {
    margin-top: auto;
    align-self: flex-start;
}

.contacts-page h1 {
    margin-top: 0;
}

.buy-flow-grid {
    margin-top: 12px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.buy-flow-step {
    border: 1px solid #dce7f6;
    border-radius: 12px;
    background: #fbfdff;
    padding: 12px;
}

.buy-flow-step span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: #e9f1ff;
    color: #234fae;
    font-size: 13px;
    font-weight: 800;
}

.buy-flow-step h3 {
    margin: 10px 0 8px;
    font-size: 17px;
}

.buy-flow-step p {
    margin: 0;
    color: #4f6386;
    line-height: 1.35;
}

.buy-flow-step-accent {
    background: linear-gradient(130deg, #eef5ff, #f9fcff);
    border-color: #bfd3fb;
}

.rag-chat-card {
    display: grid;
    gap: 12px;
}

.rag-chat-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.rag-chat-head h2 {
    margin: 0 0 6px;
}

.rag-chat-head p {
    margin: 0;
}

.rag-chat-status {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid #d3e6d9;
    background: #f3fbf6;
    color: #1a693d;
    font-size: 13px;
    font-weight: 700;
}

.rag-chat-messages {
    display: grid;
    gap: 8px;
    max-height: 340px;
    overflow-y: auto;
    border: 1px solid #d8e8de;
    border-radius: 14px;
    background: #f9fdfa;
    padding: 12px;
}

.rag-chat-bubble {
    max-width: min(700px, 100%);
    border-radius: 14px;
    padding: 10px 12px;
    line-height: 1.45;
    white-space: pre-wrap;
}

.rag-chat-bubble-assistant {
    justify-self: start;
    border: 1px solid #d7e6dc;
    background: #ffffff;
    color: #183628;
}

.rag-chat-bubble-user {
    justify-self: end;
    border: 1px solid #bfe0cb;
    background: #eaf7ef;
    color: #14452d;
}

.rag-chat-form {
    display: grid;
    gap: 8px;
}

.rag-chat-suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-start;
}

.rag-chat-suggestion-btn {
    width: auto;
    border: 1px solid #c8e1d1;
    border-radius: 999px;
    background: #f1faf5;
    color: #175a35;
    padding: 8px 12px;
    font-size: 13px;
    line-height: 1.3;
    cursor: pointer;
    transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.08s ease;
}

.rag-chat-suggestion-btn:hover {
    background: #e7f6ee;
    border-color: #aed4bc;
}

.rag-chat-suggestion-btn:active {
    transform: translateY(1px);
}

.rag-chat-input-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.home-assistant-toggle {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 70;
    width: 62px;
    height: 62px;
    border-radius: 999px;
    border: 0;
    background: linear-gradient(135deg, #18a553, #0d7f3d);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 18px 35px -18px rgba(7, 64, 32, 0.8);
    cursor: pointer;
}

.home-assistant-icon {
    font-size: 15px;
    font-weight: 900;
    letter-spacing: 0.04em;
}

.home-assistant-dot {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: #b9ffd3;
    box-shadow: 0 0 0 0 rgba(185, 255, 211, 0.75);
    transform: translate(
        calc(-50% + var(--assistant-dot-x, 0px)),
        calc(-50% + var(--assistant-dot-y, 0px))
    );
    transition: transform 0.16s ease, box-shadow 0.2s ease;
    pointer-events: none;
    z-index: 1;
}

.home-assistant-dot::before,
.home-assistant-dot::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    border-radius: 999px;
    opacity: 0;
    pointer-events: none;
}

.home-assistant-dot::before {
    width: 12px;
    height: 12px;
    border: 2px solid rgba(185, 255, 211, 0.95);
}

.home-assistant-dot::after {
    width: 8px;
    height: 8px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.95) 0%, rgba(185, 255, 211, 0.2) 65%, rgba(185, 255, 211, 0) 100%);
}

.home-assistant-toggle:hover .home-assistant-dot {
    box-shadow: 0 0 0 8px rgba(185, 255, 211, 0.16);
}

.home-assistant-toggle:hover .home-assistant-dot::before {
    animation: assistantBurstRing 0.62s ease-out infinite;
}

.home-assistant-toggle:hover .home-assistant-dot::after {
    animation: assistantBurstSpark 0.62s ease-out infinite;
}

@keyframes assistantBurstRing {
    0% {
        transform: translate(-50%, -50%) scale(0.25);
        opacity: 0.95;
    }
    70% {
        transform: translate(-50%, -50%) scale(2.8);
        opacity: 0.12;
    }
    100% {
        transform: translate(-50%, -50%) scale(3.2);
        opacity: 0;
    }
}

@keyframes assistantBurstSpark {
    0% {
        transform: translate(-50%, -50%) scale(0.2);
        opacity: 1;
    }
    55% {
        transform: translate(-50%, -50%) scale(2);
        opacity: 0.5;
    }
    100% {
        transform: translate(-50%, -50%) scale(2.6);
        opacity: 0;
    }
}

.home-assistant-panel {
    position: fixed;
    right: 22px;
    bottom: 96px;
    z-index: 69;
    width: min(370px, calc(100vw - 24px));
    height: min(560px, calc(100vh - 130px));
    max-height: min(560px, calc(100vh - 130px));
    border: 1px solid #d6e8dd;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 24px 50px -30px rgba(11, 55, 28, 0.8);
    display: grid;
    grid-template-rows: auto 1fr auto auto;
    gap: 10px;
    padding: 10px;
    opacity: 0;
    transform: translateY(12px) scale(0.98);
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.home-assistant-panel.is-open {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.home-assistant-panel.is-fullscreen {
    top: 50%;
    left: 50%;
    right: auto;
    bottom: auto;
    width: min(1080px, calc(100vw - 30px));
    height: min(86vh, 780px);
    max-height: min(86vh, 780px);
    border-radius: 22px;
    border: 1px solid #d4e5db;
    padding: 14px;
    box-shadow: 0 30px 70px -34px rgba(9, 48, 25, 0.68);
    transform: translate(-50%, -50%) scale(0.985);
}

.home-assistant-panel.is-open.is-fullscreen {
    transform: translate(-50%, -50%) scale(1);
}

.home-assistant-panel.is-fullscreen .home-assistant-messages {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
    border-radius: 16px;
    padding: 14px;
    gap: 10px;
}

.home-assistant-panel.is-fullscreen .home-assistant-bubble {
    width: auto;
    max-width: min(78%, 760px);
    padding: 12px 14px;
    font-size: 15px;
}

.home-assistant-panel.is-fullscreen .home-assistant-bubble.user,
.home-assistant-panel.is-fullscreen .home-assistant-bubble.assistant {
    justify-self: start;
}

.home-assistant-panel.is-fullscreen .home-assistant-bubble.user {
    justify-self: end;
}

.home-assistant-panel.is-fullscreen .home-assistant-header {
    padding: 2px 2px 12px;
}

.home-assistant-panel.is-fullscreen .home-assistant-header strong {
    font-size: 18px;
}

.home-assistant-panel.is-fullscreen .home-assistant-header p {
    font-size: 14px;
}

.home-assistant-panel.is-fullscreen .home-assistant-cars {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.home-assistant-panel.is-fullscreen .home-assistant-car-card {
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 10px;
    border-radius: 14px;
}

.home-assistant-panel.is-fullscreen .home-assistant-car-photo {
    width: 120px;
    height: 82px;
}

.home-assistant-panel.is-fullscreen .home-assistant-inline-suggestions {
    gap: 10px;
}

.home-assistant-panel.is-fullscreen .home-assistant-inline-suggestion-btn {
    font-size: 13px;
    padding: 8px 12px;
}

.home-assistant-panel.is-fullscreen .home-assistant-form {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}

.home-assistant-toggle.is-open {
    opacity: 0;
    pointer-events: none;
}

body.assistant-fullscreen-open {
    overflow: hidden;
}

.home-assistant-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    border-bottom: 1px solid #e2efe7;
    padding: 4px 2px 10px;
}

.home-assistant-header strong {
    font-size: 15px;
}

.home-assistant-header p {
    margin: 3px 0 0;
    color: #597064;
    font-size: 13px;
    line-height: 1.3;
}

.home-assistant-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.home-assistant-expand,
.home-assistant-close {
    width: 32px;
    height: 32px;
    border: 1px solid #d2e5d8;
    border-radius: 10px;
    background: #f3faf6;
    color: #1e633f;
    cursor: pointer;
    padding: 0;
}

.home-assistant-expand {
    font-size: 16px;
    line-height: 1;
}

.home-assistant-messages {
    border: 1px solid #dbeadf;
    border-radius: 12px;
    background: #f9fdfa;
    padding: 10px;
    overflow-y: auto;
    display: grid;
    gap: 8px;
}

.home-assistant-bubble {
    max-width: 90%;
    border-radius: 12px;
    padding: 8px 10px;
    line-height: 1.4;
    white-space: pre-wrap;
}

.home-assistant-bubble.assistant {
    justify-self: start;
    border: 1px solid #d8e7dc;
    background: #fff;
    color: #183728;
}

.home-assistant-bubble.user {
    justify-self: end;
    border: 1px solid #bfdcc9;
    background: #eaf7ef;
    color: #154b30;
}

.home-assistant-quick {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.home-assistant-quick-btn {
    width: auto;
    border: 1px solid #cce2d4;
    border-radius: 999px;
    background: #f2faf6;
    color: #175737;
    font-size: 12px;
    padding: 7px 10px;
    cursor: pointer;
}

.home-assistant-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.home-assistant-cars {
    display: grid;
    gap: 8px;
    margin-top: 4px;
}

.home-assistant-car-card {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    border: 1px solid #d8e7de;
    border-radius: 12px;
    background: #ffffff;
    padding: 8px;
    color: #193f2a;
    text-decoration: none;
}

.home-assistant-car-card:hover {
    border-color: #bcd9c7;
    background: #f7fcf9;
}

.home-assistant-car-photo {
    display: block;
    width: 84px;
    height: 66px;
    border-radius: 8px;
    background-size: cover;
    background-position: center;
    border: 1px solid #dbe9e1;
    background-color: #edf7f1;
}

.home-assistant-car-body {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.home-assistant-car-body strong {
    font-size: 14px;
    line-height: 1.25;
}

.home-assistant-car-body span {
    font-size: 12px;
    color: #486456;
    line-height: 1.25;
}

.home-assistant-car-body span:nth-of-type(2) {
    color: #145331;
    font-weight: 700;
}

.home-assistant-car-dealer {
    color: #5f786a;
}

.home-assistant-catalog-link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 34px;
    width: 100%;
    border: 1px solid #c5dfcf;
    border-radius: 999px;
    background: #eef8f2;
    color: #155433;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    padding: 6px 10px;
}

.home-assistant-catalog-link:hover {
    background: #e4f4eb;
}

.home-assistant-inline-suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.home-assistant-inline-suggestion-btn {
    width: auto;
    border: 1px solid #c9e0d1;
    border-radius: 999px;
    background: #f1faf5;
    color: #175939;
    font-size: 12px;
    line-height: 1.3;
    padding: 7px 10px;
    cursor: pointer;
}

.home-assistant-inline-suggestion-btn:hover {
    background: #e7f6ee;
}

.contacts-map-card {
    background: linear-gradient(155deg, #fcfdff, #f3f8ff);
}

.contacts-map-head h2 {
    margin: 0 0 6px;
}

.contacts-map-head p {
    margin: 0 0 12px;
}

.contacts-map-layout {
    display: grid;
    grid-template-columns: 1.5fr minmax(220px, 0.8fr);
    gap: 12px;
}

.contacts-map-shell {
    border: 1px solid #d5e4fa;
    border-radius: 14px;
    overflow: hidden;
    min-height: 320px;
    background: #f1f6ff;
}

.contacts-map-shell iframe {
    display: block;
    width: 100%;
    min-height: 320px;
    border: 0;
}

.contacts-map-points {
    display: grid;
    gap: 8px;
}

.contacts-point {
    border: 1px solid #d9e7fb;
    border-radius: 12px;
    background: #fff;
    padding: 12px;
}

.contacts-point strong {
    display: block;
    margin-bottom: 4px;
    color: #123a92;
}

.contacts-point-link {
    border: 0;
    background: none;
    padding: 0;
    width: auto;
    color: #123a92;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
    font-weight: 700;
}

.contacts-point-link:hover {
    color: #0e2f77;
}

.contacts-point span {
    color: #5c7195;
    font-size: 14px;
}

.filters {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 10px;
}

.form {
    display: grid;
    gap: 10px;
}

.compact-feedback-form {
    gap: 6px;
    max-width: 820px;
}

.compact-feedback-form label {
    gap: 4px;
    font-weight: 600;
    font-size: 13px;
}

.compact-feedback-form input,
.compact-feedback-form textarea {
    padding: 7px 10px;
    border-radius: 9px;
    line-height: 1.3;
}

.compact-feedback-form .admin-actions-row {
    margin-top: 0;
}

.compact-feedback-form input {
    height: 38px;
}

.compact-feedback-form textarea {
    min-height: 92px;
}

.feedback-card h2 {
    margin: 0 0 10px;
}

input, textarea, select, button {
    font: inherit;
    border-radius: 10px;
    border: 1px solid #ccd7e7;
    padding: 10px 12px;
    width: 100%;
}

label {
    display: grid;
    gap: 6px;
    font-weight: 600;
}

.btn {
    display: inline-flex;
    justify-content: center;
    width: auto;
    background: linear-gradient(120deg, #2257d6, #2f77ff);
    color: #fff;
    border: none;
    padding: 10px 14px;
    border-radius: 10px;
    font-weight: 700;
    box-shadow: 0 12px 24px -14px rgba(24, 76, 188, 0.62);
    transition: transform 0.08s ease, box-shadow 0.12s ease, background-color 0.12s ease, color 0.12s ease;
}

.btn:hover { background: linear-gradient(120deg, #1b46b0, #205fd4); color: #fff; }
.btn.secondary { background: #e8eefb; color: #1840a1; box-shadow: none; }
.btn:active {
    transform: translateY(1px);
    box-shadow: 0 6px 12px -10px rgba(24, 76, 188, 0.55);
}
.btn.secondary:active {
    background: #d8e3fa;
    color: #123684;
}
.btn-xl { padding: 13px 18px; border-radius: 12px; }

.inline-form { display: inline; }
.auth-cta {
    background: linear-gradient(120deg, #2257d6, #2f77ff);
    color: #fff;
    border-radius: 10px;
    padding: 8px 14px;
    font-weight: 700;
    border: 1px solid transparent;
}
.auth-cta:hover { color: #fff; background: linear-gradient(120deg, #1b46b0, #205fd4); }
.link-button {
    border: none;
    background: none;
    color: var(--brand);
    cursor: pointer;
    padding: 0;
}

.flash {
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 14px;
    border: 1px solid;
}
.flash-success { color: var(--success); border-color: #bde2cb; background: #ecf9f1; }
.flash-error { color: var(--error); border-color: #ebc0c0; background: #fff1f1; }
.flash-info { color: var(--info); border-color: #b8def2; background: #edf7fd; }

/* Всплывающий toast (успех), фикс у края экрана */
.flash-toast {
    position: fixed;
    right: 16px;
    bottom: 16px;
    left: auto;
    z-index: 2000;
    max-width: min(420px, calc(100vw - 32px));
    display: flex;
    align-items: flex-start;
    gap: 0.5rem 0.6rem;
    padding: 0.85rem 0.5rem 0.85rem 1rem;
    border-radius: 14px;
    border: 1px solid #b0dfc4;
    background: #ecf9f1;
    color: #0a4d28;
    box-shadow: 0 16px 48px -20px rgba(8, 60, 30, 0.55);
    font-size: 0.9rem;
    line-height: 1.4;
    font-weight: 600;
    transform: translateY(120%);
    opacity: 0;
    animation: flash-toast-in 0.38s ease forwards;
}

@keyframes flash-toast-in {
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.flash-toast--out {
    animation: flash-toast-out 0.28s ease forwards;
}

@keyframes flash-toast-out {
    to {
        transform: translateY(40%);
        opacity: 0;
    }
}

.flash-toast__text {
    flex: 1 1 auto;
    min-width: 0;
}

.flash-toast__close {
    flex: 0 0 auto;
    width: 1.85rem;
    height: 1.85rem;
    margin: -0.2rem 0.15rem 0 0;
    border: 1px solid #a8d4bb;
    border-radius: 8px;
    background: #fff;
    color: #1a5a36;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.flash-toast__close:hover {
    background: #f4fcf7;
}

@media (max-width: 600px) {
    .flash-toast {
        right: 10px;
        left: 10px;
        max-width: none;
    }
}

/* Документы по этапам (кабинет заявки) */
.cabinet-stage-docs__intro {
    margin: 0 0 1rem;
    font-size: 0.9rem;
}

.cabinet-stage-docs__list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.cabinet-stage-block {
    border: 1px solid #cfe6d6;
    border-radius: 14px;
    background: #fbfffd;
    padding: 0.85rem 1rem 1rem;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

.cabinet-stage-block__h {
    margin: 0 0 0.25rem;
    font-size: 1rem;
    font-weight: 800;
    color: #0f2018;
}

.cabinet-stage-block__sub {
    margin: 0 0 0.65rem;
    font-size: 0.82rem;
}

.cabinet-doc-contract__toggle {
    margin-top: 0.15rem;
}

.cabinet-doc-contract-article {
    margin-top: 0.75rem;
}

.cabinet-doc-contract-article[hidden] {
    display: none;
}

.cabinet-stage-block__body--contract {
    max-height: min(55vh, 420px);
    overflow: auto;
    padding: 0.5rem 0.65rem;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #e2efe6;
}

.cabinet-readonly-dl {
    display: grid;
    grid-template-columns: minmax(120px, 180px) 1fr;
    gap: 0.35rem 1rem;
    margin: 0;
    font-size: 0.88rem;
}

.cabinet-readonly-dl dt {
    margin: 0;
    color: #4a6b58;
    font-weight: 600;
    font-size: 0.78rem;
}

.cabinet-readonly-dl dd {
    margin: 0;
    font-weight: 600;
    color: #12261a;
}

.cabinet-svc-readonly {
    list-style: none;
    margin: 0.35rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    font-size: 0.9rem;
    line-height: 1.35;
}

.cabinet-svc-readonly li {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    padding: 0.4rem 0.55rem;
    border: 1px solid #d7ece0;
    border-radius: 10px;
    background: #f7fcf9;
}

.chat {
    display: grid;
    gap: 10px;
    max-height: 280px;
    overflow: auto;
    margin-bottom: 10px;
}

.message {
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 10px;
    background: #fbfdff;
}

.timeline-item {
    border-left: 2px solid #c9d7ef;
    padding-left: 10px;
    margin-bottom: 10px;
}

.deal-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 8px;
}

.deal-step {
    border: 1px solid #dce7f6;
    border-radius: 10px;
    background: #fbfdff;
    padding: 10px;
}

.deal-step-title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 700;
    color: #183e94;
    margin-bottom: 4px;
}

.deal-step-mark {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    border: 1px solid #c8d8f5;
    background: #f6f9ff;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.95);
}

.deal-step-mark::after {
    content: "";
    width: 7px;
    height: 4px;
    border: 2px solid transparent;
    border-top: 0;
    border-right: 0;
    transform: rotate(-45deg);
}

.deal-step-status {
    font-size: 12px;
    color: #6f7f9d;
}

.deal-step-done {
    border-color: #b9d8c6;
    background: #f0faf4;
}

.deal-step-current {
    border-color: #bfd3fb;
    background: #edf4ff;
    box-shadow: 0 10px 24px -20px rgba(23, 78, 200, 0.65);
}

.deal-step-done .deal-step-mark {
    border-color: #1f8f56;
    background: linear-gradient(135deg, #20a560, #1d8a52);
    box-shadow: 0 8px 14px -10px rgba(31, 143, 86, 0.8), inset 0 0 0 1px rgba(255, 255, 255, 0.28);
}

.deal-step-done .deal-step-mark::after {
    border-color: #fff;
}

.deal-step-current .deal-step-mark {
    border-color: #2257d6;
    background: linear-gradient(135deg, #3d7aff, #2257d6);
    box-shadow: 0 8px 14px -10px rgba(34, 87, 214, 0.85), inset 0 0 0 1px rgba(255, 255, 255, 0.24);
}

.deal-step-current .deal-step-mark::after {
    width: 6px;
    height: 6px;
    border: 0;
    border-radius: 999px;
    background: #fff;
    transform: none;
}

.deal-step-upcoming .deal-step-mark::after {
    width: 6px;
    height: 6px;
    border: 0;
    border-radius: 999px;
    background: #b9c9e6;
    transform: none;
}

.deal-workflow-progress {
    position: relative;
    height: 10px;
    border-radius: 999px;
    background: #e5edf9;
    overflow: hidden;
    margin: 0 0 0.35rem 0;
    border: 1px solid #d0ddf2;
}

.deal-workflow-progress__bar {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #1f8f56, #2da76a 45%, #3d7aff);
    transition: width 0.45s ease;
    min-width: 4px;
}

.deal-workflow-progress-label {
    font-size: 13px;
    margin: 0 0 0.75rem 0;
}

.deal-workflow-card__title {
    margin: 0 0 0.6rem 0;
}

.deal-workflow-card__progress-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(200px, 22rem);
    gap: 0.9rem 1.25rem;
    align-items: start;
    margin: 0 0 0.9rem 0;
}

.deal-workflow-card__progress-wrap--only-progress {
    grid-template-columns: 1fr;
}

.deal-workflow-card__progress-block {
    min-width: 0;
}

.deal-workflow-card__progress-block .deal-workflow-progress {
    margin-bottom: 0.35rem;
}

.deal-workflow-card__progress-block .deal-workflow-progress-label {
    margin-bottom: 0;
}

.deal-workflow-card__toolbar {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    min-width: 0;
    padding: 0.1rem 0 0.15rem 0;
}

.deal-workflow-card__auto {
    margin: 0;
    font-size: 13px;
    line-height: 1.35;
}

.deal-workflow-card__tool {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.deal-workflow-card__hint {
    font-size: 12px;
    line-height: 1.4;
    margin: 0;
}

.deal-workflow-card__form {
    display: block;
    margin: 0;
}

.deal-workflow-card__form .btn {
    width: 100%;
    max-width: 20rem;
}

.deal-workflow-card__tool > .btn {
    max-width: 20rem;
    align-self: flex-start;
}

@media (min-width: 768px) {
    .deal-workflow-card__toolbar {
        border-left: 1px solid var(--border, #d9e8dd);
        padding-left: 1.1rem;
    }
}

@media (max-width: 767.98px) {
    .deal-workflow-card__progress-wrap:not(.deal-workflow-card__progress-wrap--only-progress) {
        grid-template-columns: 1fr;
    }

    .deal-workflow-card__toolbar {
        padding-top: 0.55rem;
        border-top: 1px solid var(--border, #d9e8dd);
    }
}

.deal-steps--workflow {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

.deal-step-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4rem;
    font-size: 11px;
    font-weight: 800;
    color: #2c4a7c;
    background: #e8f0ff;
    border-radius: 6px;
    padding: 1px 5px;
}

.deal-step-current .deal-step-index {
    background: #d6e5ff;
    color: #183e94;
}

.deal-step-done .deal-step-index {
    background: #d5f0e1;
    color: #0d5a32;
}

.deal-step-text {
    font-weight: 600;
    font-size: 13px;
    line-height: 1.25;
}

.cabinet-application .deal-step-title {
    align-items: flex-start;
    gap: 6px;
}

.deal-stage-actions h2 {
    margin-top: 0;
}

.deal-mvp-ack .btn {
    margin-top: 0.15rem;
}

/* «Сделка завершена»: демо-салют (canvas + тост) */
.deal-complete-celebration {
    position: fixed;
    inset: 0;
    z-index: 100;
    pointer-events: none;
    transition: opacity 1.1s ease;
}

.deal-complete-celebration--faded {
    opacity: 0;
    visibility: hidden;
    transition: opacity 1.1s ease, visibility 0s linear 1.1s;
}

.deal-complete-fireworks__canvas {
    display: block;
    width: 100%;
    height: 100%;
}

.deal-complete-toast {
    position: fixed;
    z-index: 110;
    left: 50%;
    /* Ниже .topbar (sticky, ~74px) */
    top: max(1rem, calc(4.75rem + env(safe-area-inset-top, 0px)));
    max-width: min(26rem, calc(100vw - 1.5rem));
    margin: 0;
    padding: 0.9rem 1.1rem;
    transform: translate(-50%, -12px);
    opacity: 0;
    border-radius: 12px;
    background: linear-gradient(145deg, #fff8f0 0%, #ffffff 50%, #f2f7ff 100%);
    border: 1px solid #e2eaf5;
    box-shadow:
        0 4px 24px rgba(40, 80, 120, 0.12),
        0 0 0 1px rgba(255, 255, 255, 0.6) inset;
    pointer-events: none;
    transition:
        opacity 0.5s ease,
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.deal-complete-toast--interactive {
    pointer-events: auto;
    max-width: min(44rem, calc(100vw - 1rem));
    max-height: none;
    overflow: visible;
    padding: 0.65rem 0.9rem 0.85rem 0.9rem;
}

.deal-complete-toast--show {
    opacity: 1;
    transform: translate(-50%, 0);
}

.deal-complete-toast--hush {
    opacity: 0.75;
    transition: opacity 1s ease;
}

.deal-complete-toast__title {
    margin: 0 0 0.25rem 0;
    font-size: 1.1rem;
    font-weight: 800;
    color: #0d2d4a;
    letter-spacing: 0.01em;
}

.deal-complete-toast__sub {
    margin: 0;
    font-size: 13px;
    line-height: 1.4;
    color: #3d5a73;
}

.deal-complete-toast__top {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding-right: 2rem;
}

.deal-complete-toast__intro {
    flex: 1;
    min-width: 0;
}

.deal-complete-toast__close {
    position: absolute;
    top: -0.15rem;
    right: 0;
    width: 2rem;
    height: 2rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: rgba(13, 45, 74, 0.08);
    color: #0d2d4a;
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* На случай, если у родителя снова будет pointer-events: none */
    pointer-events: auto;
    z-index: 2;
}

.deal-complete-toast__close:hover {
    background: rgba(13, 45, 74, 0.14);
}

.deal-complete-toast--dismissed {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate(-50%, -12px) !important;
    transition:
        opacity 0.35s ease,
        visibility 0s linear 0.35s,
        transform 0.35s ease !important;
}

.deal-complete-survey {
    margin: 0.5rem 0 0 0;
    padding-top: 0.5rem;
    border-top: 1px solid #e2eaf5;
}

.deal-complete-survey__head {
    margin: 0 0 0.4rem 0;
    font-size: 0.9rem;
    font-weight: 800;
    color: #0d2d4a;
}

.deal-complete-survey__pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.4rem 0.65rem;
    margin: 0 0 0.4rem 0;
    min-width: 0;
}

.deal-complete-survey__pair .deal-complete-survey__field {
    margin-bottom: 0;
}

.deal-complete-survey__field {
    display: block;
    margin: 0 0 0.4rem 0;
    border: 0;
    padding: 0;
    min-width: 0;
}

.deal-complete-survey fieldset.deal-complete-survey__field {
    margin: 0 0 0.45rem 0;
}

.deal-complete-survey__q {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #2c4a6e;
    margin-bottom: 0.25rem;
}

.deal-complete-survey__select,
.deal-complete-survey__textarea,
.deal-complete-survey__input {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    font: inherit;
    font-size: 14px;
    border: 1px solid #c9d8ee;
    border-radius: 8px;
    padding: 0.35rem 0.5rem;
    background: #fff;
    color: #0d2d4a;
}

.deal-complete-survey__textarea {
    min-height: 2.4rem;
    resize: vertical;
}

.deal-complete-survey__textarea--long {
    min-height: 6.5rem;
    line-height: 1.45;
}

.deal-complete-survey__textarea--pair {
    min-height: 3.6rem;
    line-height: 1.4;
    resize: vertical;
}

.deal-complete-survey__textarea--compact {
    min-height: 3.5rem;
    line-height: 1.4;
    resize: vertical;
}

@media (max-width: 520px) {
    .deal-complete-survey__pair {
        grid-template-columns: 1fr;
    }
}

.deal-complete-survey__submit {
    margin-top: 0.4rem;
    width: 100%;
}

/* Шкала 1–10 */
.deal-complete-scale {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.3rem 0.25rem;
    margin-top: 0.4rem;
}

.deal-complete-scale__btn {
    position: relative;
    flex: 0 0 auto;
    min-width: 1.9rem;
    text-align: center;
    border-radius: 8px;
    border: 1px solid #b9c9e0;
    background: #f4f7fc;
    cursor: pointer;
    padding: 0.35rem 0.2rem 0.4rem 0.2rem;
    font-size: 13px;
    font-weight: 700;
    color: #0d2d4a;
    line-height: 1;
    transition:
        background 0.15s ease,
        border-color 0.15s ease,
        color 0.15s ease,
        box-shadow 0.15s ease;
    user-select: none;
}

.deal-complete-scale__input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
    pointer-events: none;
}

.deal-complete-scale__btn:has(.deal-complete-scale__input:focus-visible) {
    outline: 2px solid #3d7aff;
    outline-offset: 1px;
}

.deal-complete-scale__btn:has(.deal-complete-scale__input:checked) {
    background: linear-gradient(145deg, #1f8f56, #2da76a);
    border-color: #1a7a4a;
    color: #fff;
    box-shadow: 0 1px 6px rgba(25, 120, 70, 0.35);
}

.deal-complete-scale__btn:has(.deal-complete-scale__input:checked) .deal-complete-scale__val {
    color: #fff;
}

.deal-complete-scale__btn:hover {
    border-color: #7a9cc9;
    background: #e8f0ff;
}

.deal-complete-yesno {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.4rem;
}

.deal-complete-yesno__btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.2rem;
    padding: 0.45rem 0.9rem;
    border-radius: 8px;
    border: 1px solid #b9c9e0;
    background: #f4f7fc;
    font-size: 14px;
    font-weight: 600;
    color: #0d2d4a;
    cursor: pointer;
    transition:
        background 0.15s ease,
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}

.deal-complete-yesno__input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
    pointer-events: none;
}

.deal-complete-yesno__btn:has(.deal-complete-yesno__input:focus-visible) {
    outline: 2px solid #3d7aff;
    outline-offset: 1px;
}

.deal-complete-yesno__btn:has(.deal-complete-yesno__input:checked) {
    background: linear-gradient(145deg, #2c5aa0, #3d7aff);
    border-color: #2c4a7c;
    color: #fff;
    box-shadow: 0 1px 6px rgba(30, 80, 150, 0.35);
}

.deal-complete-yesno__btn:has(.deal-complete-yesno__input:checked) span {
    color: #fff;
}

.deal-complete-yesno__btn:hover {
    border-color: #7a9cc9;
    background: #e8f0ff;
}

.deal-complete-survey__thanks {
    margin: 0.6rem 0 0 0;
    font-size: 13px;
}

@media (prefers-reduced-motion: reduce) {
    .deal-complete-celebration {
        display: none !important;
    }
}

.admin-os-text {
    max-width: 14rem;
    font-size: 13px;
    line-height: 1.35;
    white-space: pre-wrap;
    word-break: break-word;
    vertical-align: top;
}

/* Нижняя панель с текстом договора (этап подписания) */
body.contract-sheet-open {
    overflow: hidden;
}

.contract-sheet {
    position: fixed;
    inset: 0;
    z-index: 1300;
    pointer-events: none;
    visibility: hidden;
    transition: visibility 0.28s ease;
}

.contract-sheet.is-open {
    pointer-events: auto;
    visibility: visible;
}

.contract-sheet__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(12, 38, 24, 0.48);
    opacity: 0;
    transition: opacity 0.28s ease;
}

.contract-sheet.is-open .contract-sheet__backdrop {
    opacity: 1;
}

.contract-sheet__panel {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    max-height: min(90vh, 760px);
    background: #fff;
    border-radius: 20px 20px 0 0;
    border: 1px solid #c8e4d2;
    box-shadow: 0 -12px 48px -20px rgba(10, 55, 30, 0.55);
    transform: translateY(105%);
    transition: transform 0.36s cubic-bezier(0.22, 1, 0.36, 1);
}

.contract-sheet.is-open .contract-sheet__panel {
    transform: translateY(0);
}

.contract-sheet__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1rem 0.65rem;
    border-bottom: 1px solid #e2f0e8;
    flex-shrink: 0;
}

.contract-sheet__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.25;
    color: #0f2018;
    letter-spacing: -0.02em;
}

.contract-sheet__close {
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
    border: 1px solid #c5e3d0;
    border-radius: 999px;
    background: #f4fbf7;
    color: #1a3d2a;
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contract-sheet__close:hover {
    background: #e8f5ed;
}

.contract-sheet__scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 0.75rem 1rem 1rem;
    -webkit-overflow-scrolling: touch;
}

.contract-text {
    font-size: 0.9rem;
    line-height: 1.55;
    color: #1a2e24;
}

.contract-text__meta {
    margin: 0 0 0.75rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: #4a6b58;
}

.contract-text p {
    margin: 0 0 0.75rem;
}

.contract-text__h {
    margin: 1rem 0 0.45rem;
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #0f4a2e;
}

.contract-text__h:first-of-type {
    margin-top: 0.35rem;
}

.contract-text__ul {
    margin: 0 0 0.75rem;
    padding-left: 1.2rem;
}

.contract-text__ul li {
    margin-bottom: 0.35rem;
}

.contract-sheet__footer {
    flex-shrink: 0;
    padding: 0.75rem 1rem calc(0.85rem + env(safe-area-inset-bottom, 0));
    border-top: 1px solid #e2f0e8;
    background: linear-gradient(180deg, #fbfffd 0%, #f4faf6 100%);
}

.contract-sheet__form {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
}

@media (max-width: 520px) {
    .contract-sheet__form {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .contract-sheet__form .btn {
        width: 100%;
        justify-content: center;
    }
}

/* Блок «Условия сделки» (кабинет заявки) */
.deal-terms-section {
    background:
        linear-gradient(160deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 252, 249, 0.92) 100%);
    border: 1px solid rgba(20, 100, 55, 0.14) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 22px 50px -36px rgba(12, 72, 40, 0.55);
}

.cabinet-application .deal-terms-section__title {
    margin: 0 0 0.5rem;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f1f18;
    padding-left: 0.65rem;
    border-left: 3px solid #14a551;
    line-height: 1.2;
}

.cabinet-application .deal-terms-snapshot.order-snapshot--readonly {
    margin-bottom: 1rem;
    padding: 0.9rem 1rem 0.75rem;
    background: #fff;
    border: 1px solid #cfe8d5;
    border-radius: 14px;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.95) inset, 0 8px 22px -18px rgba(12, 60, 35, 0.35);
}

.cabinet-application .deal-terms-snapshot .order-snapshot__title {
    font-size: 0.88rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #1a3d2a;
}

.cabinet-application .deal-terms-snapshot .order-snapshot__hint {
    font-size: 0.8rem;
    line-height: 1.4;
    padding: 0.4rem 0.55rem;
    margin: 0 0 0.7rem;
    background: #f0faf3;
    border: 1px solid #d1eadb;
    border-radius: 10px;
    color: #3d5a4a;
}

.cabinet-application .deal-terms-snapshot .order-snapshot-dl {
    border-top: 1px solid #e2f0e6;
    padding-top: 0.65rem;
    gap: 0.4rem 1.1rem;
    font-size: 0.85rem;
}

.cabinet-application .deal-terms-snapshot .order-snapshot-dl dt {
    color: #4a6b58;
    font-size: 0.78rem;
    font-weight: 600;
}

.cabinet-application .deal-terms-snapshot .order-snapshot-dl dd {
    color: #102619;
    font-weight: 600;
}

.deal-terms-brief {
    display: grid;
    gap: 0.45rem;
    margin: 0 0 1rem;
    padding: 0.6rem 0.75rem;
    background: linear-gradient(180deg, #f6fcf8 0%, #f0f7f2 100%);
    border: 1px solid #d2e7da;
    border-radius: 12px;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

.deal-terms-brief__item {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding: 0.2rem 0;
}

.deal-terms-brief__item + .deal-terms-brief__item {
    border-top: 1px dashed #c4decf;
    padding-top: 0.45rem;
    margin-top: 0.15rem;
}

.deal-terms-brief__label {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #5a7567;
    flex: 0 0 auto;
}

.deal-terms-brief__value {
    font-size: 0.88rem;
    font-weight: 700;
    color: #0f2018;
    text-align: right;
}

.deal-terms-pricing {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 0.15rem;
}

.deal-terms-pricing__head {
    margin: 0 0 0.4rem;
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #3d5c48;
}

.deal-terms-pricing__group {
    min-width: 0;
}

.deal-price-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 8px;
}

.deal-terms-pricing .deal-price-grid {
    gap: 10px;
}

.deal-price-grid > div {
    border: 1px solid #cde5d3;
    border-radius: 12px;
    background: linear-gradient(180deg, #fdfffe 0%, #f4faf6 100%);
    padding: 12px 12px 11px;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset, 0 4px 14px -10px rgba(20, 80, 45, 0.35);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.deal-terms-pricing .deal-price-grid:not(.deal-price-grid--charged) > div:hover {
    border-color: #9bcea8;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset, 0 6px 18px -12px rgba(20, 100, 55, 0.45);
}

.deal-price-grid span {
    display: block;
    font-size: 11px;
    line-height: 1.3;
    color: #4d6a5a;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.deal-price-grid strong {
    display: block;
    margin-top: 6px;
    font-size: 1.05rem;
    font-weight: 800;
    color: #0a5a32;
    letter-spacing: -0.02em;
}

.deal-price-grid .deal-price-total {
    border: 1px solid #9fd4ae;
    background: linear-gradient(145deg, #e3f6e8 0%, #d4f0dc 100%);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.55) inset, 0 6px 20px -14px rgba(10, 90, 50, 0.45);
}

.deal-price-grid .deal-price-total span {
    color: #1a4a2e;
}

.deal-price-grid .deal-price-total strong {
    color: #064424;
    font-size: 1.15rem;
}

.deal-price-grid--charged > div {
    border-color: #ddd8cc;
    background: linear-gradient(180deg, #fffcf8 0%, #faf5ee 100%);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset, 0 3px 12px -8px rgba(60, 40, 20, 0.2);
}

.deal-price-grid--charged > div:hover {
    border-color: #c9b89f;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset, 0 4px 16px -10px rgba(60, 40, 20, 0.25);
}

.deal-price-grid--charged span {
    color: #5c5348;
}

.deal-price-grid--charged strong {
    color: #5a3d18;
}

.deal-price-grid--charged .deal-price-total {
    border: 1px solid #e0c8a0;
    background: linear-gradient(145deg, #fff2db 0%, #ffe6c2 100%);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.55) inset, 0 5px 16px -12px rgba(100, 60, 10, 0.35);
}

.deal-price-grid--charged .deal-price-total span {
    color: #4a3a20;
}

.deal-price-grid--charged .deal-price-total strong {
    color: #3d2805;
}

.cabinet-application .deal-terms-pricing__head--row {
    margin: 0 0 0.75rem;
    width: 100%;
}

.cabinet-application .deal-terms-tranche-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    align-items: stretch;
}

@media (max-width: 960px) {
    .cabinet-application .deal-terms-tranche-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .cabinet-application .deal-terms-tranche-grid {
        grid-template-columns: 1fr;
    }
}

.deal-terms-tranche-col {
    min-width: 0;
    border: 1px solid #cde5d3;
    border-radius: 12px;
    background: linear-gradient(180deg, #fdfffe 0%, #f4faf6 100%);
    padding: 12px 12px 11px;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset, 0 4px 14px -10px rgba(20, 80, 45, 0.35);
}

.deal-terms-tranche-col--total {
    border-color: #9fd4ae;
    background: linear-gradient(145deg, #e3f6e8 0%, #d4f0dc 100%);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.55) inset, 0 6px 20px -14px rgba(10, 90, 50, 0.45);
}

.deal-terms-tranche-col__title {
    margin: 0 0 0.2rem;
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f1f18;
}

.deal-terms-tranche-col__note {
    margin: 0 0 0.65rem;
    font-size: 0.72rem;
    line-height: 1.35;
}

.deal-terms-tranche-col__dl {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.deal-terms-tranche-col__dl > div {
    margin: 0;
    padding: 0.4rem 0 0;
    border-top: 1px dashed #b8d9c3;
}

.deal-terms-tranche-col__dl > div:first-of-type {
    padding-top: 0.25rem;
    border-top: none;
}

.deal-terms-tranche-line-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.32rem;
}

.deal-terms-tranche-line-list li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.75rem;
    line-height: 1.3;
}

.deal-terms-tranche-line-list__label {
    color: #3d5a4a;
    font-weight: 600;
    min-width: 0;
    flex: 1;
}

.deal-terms-tranche-line-list__val {
    font-size: 0.78rem;
    font-weight: 800;
    color: #0a5a32;
    text-align: right;
    white-space: nowrap;
    flex: 0 0 auto;
}

/* Оформление в РФ: одна строка, сумма раскрывает расшифровку */
.deal-terms-tranche-line--rf {
    align-items: flex-start;
}

.deal-terms-rf-details {
    flex: 0 0 auto;
    min-width: 0;
    max-width: 58%;
    text-align: right;
}

.deal-terms-rf-details__summary {
    list-style: none;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.3rem;
    margin: 0;
    padding: 0 0.1rem 0.1rem 0.35rem;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    color: #0a5a32;
    border-radius: 6px;
}

.deal-terms-rf-details__summary:hover {
    background: rgba(10, 90, 50, 0.07);
}

.deal-terms-rf-details__summary:focus {
    outline: none;
}

.deal-terms-rf-details__summary:focus-visible {
    outline: 2px solid #0a5a32;
    outline-offset: 2px;
}

.deal-terms-tranche-line-list--charged .deal-terms-rf-details__summary:focus-visible {
    outline-color: #8a6520;
}

.deal-terms-rf-details__summary::-webkit-details-marker,
.deal-terms-rf-details__summary::marker {
    display: none;
    content: none;
}

.deal-terms-rf-details__summary::after {
    content: "";
    display: inline-block;
    width: 0.4rem;
    height: 0.4rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-0.1rem) rotate(45deg);
    opacity: 0.55;
    flex-shrink: 0;
}

.deal-terms-rf-details[open] .deal-terms-rf-details__summary::after {
    transform: translateY(0.12rem) rotate(225deg);
    opacity: 0.7;
}

.deal-terms-rf-breakdown {
    list-style: none;
    margin: 0.4rem 0 0 0.15rem;
    padding: 0.45rem 0.4rem 0.5rem 0.5rem;
    text-align: left;
    background: #f0faf3;
    border: 1px solid #b8d9c3;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 10rem;
    box-shadow: 0 2px 8px -4px rgba(10, 60, 30, 0.35);
}

.deal-terms-rf-breakdown li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.7rem;
    line-height: 1.3;
    font-weight: 500;
}

.deal-terms-rf-breakdown__label {
    color: #3d5a4a;
    min-width: 0;
    text-align: left;
}

.deal-terms-rf-breakdown__val {
    flex-shrink: 0;
    font-weight: 700;
    color: #0a5a32;
    white-space: nowrap;
    font-size: 0.72rem;
}

.deal-terms-tranche-line-list--charged .deal-terms-rf-breakdown {
    background: #faf6f0;
    border-color: #ddc8a0;
}

.deal-terms-tranche-line-list--charged .deal-terms-rf-breakdown__label {
    color: #5a4d3a;
}

.deal-terms-tranche-line-list--charged .deal-terms-rf-breakdown__val {
    color: #5a3d18;
}

.deal-terms-tranche-line-list--charged .deal-terms-rf-details__summary {
    color: #5a3d18;
}

.deal-terms-tranche-line-list--charged .deal-terms-rf-details__summary:hover {
    background: rgba(90, 61, 24, 0.08);
}

.deal-terms-tranche-line-list--charged .deal-terms-rf-details__summary .deal-terms-tranche-line-list__val {
    color: #5a3d18;
}

.deal-terms-tranche-line-list--charged .deal-terms-rf-details__summary::after {
    color: #5a3d18;
}

@media (max-width: 520px) {
    .deal-terms-tranche-line--rf {
        flex-direction: column;
        align-items: stretch;
        gap: 0.25rem;
    }

    .deal-terms-rf-details {
        max-width: 100%;
        align-self: flex-end;
    }
}

.deal-terms-tranche-line-list--charged .deal-terms-tranche-line-list__val {
    color: #5a3d18;
}

.deal-terms-tranche-line-list--sum .deal-terms-tranche-line-list__li--total {
    margin-top: 0.25rem;
    padding-top: 0.45rem;
    border-top: 1px dashed #c4b08a;
}

.deal-terms-tranche-line-list--sum .deal-terms-tranche-line-list__li--total .deal-terms-tranche-line-list__label {
    font-weight: 800;
    color: #1a3d2a;
}

.deal-terms-tranche-line-list--sum .deal-terms-tranche-line-list__li--total .deal-terms-tranche-line-list__val {
    font-size: 0.9rem;
    color: #3d2805;
}

/* «Всего к оплате (транши 1–3)» в колонке Итого */
.deal-terms-tranche-col--total .deal-terms-total-line--tranches-pay {
    margin-top: 0.45rem;
    padding: 0.5rem 0.4rem 0.48rem;
    background: linear-gradient(100deg, rgba(8, 110, 55, 0.14) 0%, rgba(6, 90, 45, 0.05) 55%, rgba(5, 70, 35, 0.03) 100%);
    border: 1px solid rgba(6, 100, 45, 0.28);
    border-radius: 10px;
    box-shadow: 0 2px 10px -6px rgba(5, 60, 30, 0.45);
    align-items: center;
}

.deal-terms-tranche-col--total .deal-terms-total-line--tranches-pay .deal-terms-tranche-line-list__label {
    font-size: 0.86rem;
    font-weight: 800;
    color: #021f0c;
    letter-spacing: -0.025em;
    line-height: 1.2;
}

.deal-terms-tranche-col--total .deal-terms-total-line--tranches-pay .deal-terms-tranche-line-list__val {
    font-size: 1.18rem;
    font-weight: 800;
    color: #014d22;
    letter-spacing: -0.04em;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
}

.deal-terms-tranche-col__dl dt {
    margin: 0;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #4d6a5a;
}

.deal-terms-tranche-col__dl dd {
    margin: 0.2rem 0 0;
}

.deal-terms-tranche-col__dl strong {
    display: block;
    font-size: 1.02rem;
    font-weight: 800;
    color: #0a5a32;
    letter-spacing: -0.02em;
}

.deal-terms-tranche-col--total .deal-terms-tranche-col__dl strong {
    font-size: 1.05rem;
    color: #064424;
}

.cabinet-application {
    display: grid;
    gap: 10px;
}

.cabinet-application .card {
    padding: 14px;
    margin-bottom: 0;
}

.cabinet-application h1 {
    margin: 0 0 8px;
    font-size: 28px;
    line-height: 1.15;
}

/* Заявка + авто: фото слева, заявка и сведения справа (компактно под высоту фото) */
.cabinet-app-hero-card {
    padding: 0 !important;
    overflow: hidden;
}

.cabinet-app-hero {
    --cabinet-hero-h: 290px;
    display: grid;
    grid-template-columns: minmax(200px, 35%) minmax(0, 1fr);
    gap: 0;
    align-items: stretch;
    min-height: 0;
}

@media (max-width: 768px) {
    .cabinet-app-hero {
        grid-template-columns: 1fr;
    }
}

.cabinet-app-hero--text-only {
    grid-template-columns: 1fr;
    padding: 14px;
}

.cabinet-app-hero--text-only .cabinet-app-hero__content {
    padding: 0;
    border: none;
}

.cabinet-app-hero__media {
    height: 100%;
    min-height: var(--cabinet-hero-h, 290px);
    max-height: var(--cabinet-hero-h, 290px);
    padding: 0.6rem 0.55rem 0.6rem 0.7rem;
    box-sizing: border-box;
    background: linear-gradient(180deg, #f6f8f6 0%, #f0f4f1 100%);
    border-right: 1px solid rgba(20, 60, 40, 0.07);
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 768px) {
    .cabinet-app-hero {
        --cabinet-hero-h: auto;
    }

    .cabinet-app-hero__content {
        max-height: none;
        overflow-y: visible;
        padding: 0.65rem 0.75rem 0.75rem;
    }

    .cabinet-app-hero__media {
        min-height: 200px;
        max-height: none;
        height: auto;
        padding: 0.6rem 0.75rem 0.4rem;
        border-right: none;
        border-bottom: 1px solid rgba(20, 60, 40, 0.08);
    }
}

.cabinet-application .cabinet-app-hero__media .car-photo {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: 100%;
    margin: 0;
    border-radius: 12px;
    background-size: cover;
    background-position: 52% 40%;
    background-repeat: no-repeat;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.85) inset,
        0 5px 18px -8px rgba(8, 48, 28, 0.35),
        0 0 0 1px rgba(12, 66, 36, 0.09);
}

@media (max-width: 768px) {
    .cabinet-application .cabinet-app-hero__media .car-photo {
        aspect-ratio: 16 / 10;
        height: auto;
        max-height: 240px;
    }
}

.cabinet-app-hero__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 120px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.65);
    box-shadow: inset 0 0 0 1px rgba(12, 66, 36, 0.1);
    font-size: 0.85rem;
}

.cabinet-app-hero__content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 0.35rem;
    padding: 0.5rem 0.75rem 0.55rem 0.7rem;
    min-width: 0;
    max-height: var(--cabinet-hero-h, 290px);
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
}

.cabinet-application .cabinet-app-hero__h1 {
    margin: 0 0 0.1rem;
    font-size: 1.1rem;
    line-height: 1.2;
    font-weight: 800;
    color: #0f2434;
    letter-spacing: -0.02em;
}

.cabinet-app-hero__status-block {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    margin: 0.2rem 0 0;
    padding: 0.4rem 0.55rem 0.5rem;
    max-width: 100%;
    border-radius: 10px;
    background: rgba(12, 72, 160, 0.07);
    border: 1px solid rgba(28, 86, 160, 0.18);
    box-sizing: border-box;
}

.cabinet-app-hero__status-block--rejected {
    background: rgba(180, 40, 50, 0.08);
    border-color: rgba(180, 40, 50, 0.22);
}

.cabinet-app-hero__status-kicker {
    font-size: 0.62rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgba(15, 36, 52, 0.55);
}

.cabinet-app-hero__status-text {
    display: block;
    font-size: 0.86rem;
    line-height: 1.25;
    font-weight: 700;
    color: #0d3d6b;
    letter-spacing: -0.015em;
    word-wrap: break-word;
}

.cabinet-app-hero__status-block--rejected .cabinet-app-hero__status-text {
    color: #7a1218;
}

.cabinet-app-hero__meta-created {
    margin: 0.25rem 0 0;
    font-size: 0.7rem;
    line-height: 1.35;
}

.cabinet-app-hero__flash {
    margin: 0.25rem 0 0 !important;
    padding: 0.3rem 0.45rem !important;
    font-size: 0.72rem !important;
    line-height: 1.3 !important;
    border-radius: 8px;
}

.cabinet-app-hero__car {
    margin-top: 0.2rem;
    padding-top: 0.45rem;
    border-top: 1px solid rgba(20, 60, 90, 0.08);
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 0.3rem;
}

.cabinet-app-hero__order {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 0.25rem 0.5rem !important;
    align-items: start;
}

.cabinet-app-hero__order .catalog-order-main {
    min-width: 0;
}

.cabinet-app-hero__car-title {
    font-size: 0.92rem !important;
    line-height: 1.25;
    font-weight: 800;
    margin: 0 !important;
    color: #0f1c28;
    letter-spacing: -0.02em;
}

.cabinet-app-hero__car-line {
    font-size: 0.7rem !important;
    line-height: 1.3 !important;
    margin: 0.12rem 0 0 !important;
}

/* Страна, город, оплата — одна нейтральная панель, без «кричащего» цвета */
.cabinet-app-hero__summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: 0.4rem 0 0;
    border-radius: 10px;
    background: rgba(15, 36, 52, 0.04);
    border: 1px solid rgba(15, 36, 52, 0.09);
    overflow: hidden;
    box-sizing: border-box;
}

.cabinet-app-hero__summary-item {
    min-width: 0;
    padding: 0.45rem 0.55rem 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    border-left: 1px solid rgba(15, 36, 52, 0.08);
}

.cabinet-app-hero__summary-item:first-child {
    border-left: 0;
}

.cabinet-app-hero__summary-label {
    display: block;
    font-size: 0.64rem;
    font-weight: 600;
    color: rgba(15, 36, 52, 0.5);
    line-height: 1.2;
    letter-spacing: 0.01em;
}

.cabinet-app-hero__summary-value {
    display: block;
    font-size: 0.8rem;
    font-weight: 700;
    color: #122636;
    line-height: 1.3;
    word-break: break-word;
}

.cabinet-app-hero__summary--no-car {
    margin-top: 0.75rem;
    max-width: 32rem;
}

.cabinet-app-hero__summary--two-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 520px) {
    .cabinet-app-hero__summary {
        grid-template-columns: 1fr;
    }

    .cabinet-app-hero__summary--two-cols {
        grid-template-columns: 1fr;
    }

    .cabinet-app-hero__summary-item {
        border-left: 0;
        border-top: 1px solid rgba(15, 36, 52, 0.08);
    }

    .cabinet-app-hero__summary-item:first-child {
        border-top: 0;
    }
}

.cabinet-app-hero__price-label {
    font-size: 0.6rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: rgba(10, 92, 46, 0.75);
    line-height: 1.1;
    margin: 0.1rem 0 0;
}

.cabinet-app-hero__price-row {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.1rem;
    text-align: right;
    flex-shrink: 0;
}

.cabinet-app-hero__year {
    font-size: 0.65rem !important;
    padding: 0.1rem 0.45rem !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

.cabinet-app-hero__price {
    font-size: 1.02rem !important;
    font-weight: 800 !important;
    color: #116b38 !important;
    line-height: 1.1 !important;
    margin: 0 !important;
    margin-top: 0 !important;
    letter-spacing: -0.02em;
}

.cabinet-app-hero__car .car-actions {
    margin: 0 !important;
    margin-top: 0 !important;
    padding: 0;
    justify-content: flex-start;
}

.cabinet-app-hero__car .btn--compact {
    padding: 0.28rem 0.6rem;
    font-size: 0.75rem;
    font-weight: 700;
    border-radius: 9px;
}

.cabinet-app-hero-card .cabinet-app-car-panel-wrap {
    width: 100%;
    box-sizing: border-box;
    padding: 0 16px 14px;
}

.cabinet-app-hero-card .cabinet-app-car-panel__inner {
    border-top: 1px solid rgba(20, 60, 90, 0.12);
    margin-top: 0;
    padding-top: 0.75rem;
}

.cabinet-application h2 {
    margin: 0 0 8px;
    font-size: 21px;
    line-height: 1.2;
}

.cabinet-application .order-snapshot--readonly {
    margin-bottom: 14px;
}

.cabinet-application .order-snapshot__title {
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 600;
}

.cabinet-application .order-snapshot__hint {
    margin: 0 0 12px;
    font-size: 14px;
}

.cabinet-application .order-snapshot-dl {
    display: grid;
    grid-template-columns: minmax(140px, 220px) 1fr;
    gap: 8px 16px;
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
}

.cabinet-application .order-snapshot-dl dt {
    margin: 0;
    color: #5f7395;
    font-weight: 500;
}

.cabinet-application .order-snapshot-dl dd {
    margin: 0;
}

.cabinet-application .order-snapshot-list {
    margin: 0;
    padding-left: 1.15em;
}

.cabinet-application .order-snapshot-list li + li {
    margin-top: 2px;
}

/* Логистика — в пути (транспортная компания, дата отгрузки, фото до погрузки) */
.cabinet-transit-logistics__title {
    margin: 0 0 0.25rem;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f1f18;
    padding-left: 0.6rem;
    border-left: 3px solid #2d8a57;
    line-height: 1.2;
}

.cabinet-transit-logistics__kicker {
    margin: 0 0 0.85rem;
    font-size: 0.86rem;
    line-height: 1.4;
}

.cabinet-transit-logistics__demo-hint {
    margin: -0.35rem 0 0.75rem;
    font-size: 0.78rem;
    line-height: 1.35;
}

.cabinet-transit-logistics__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(160px, 38%);
    gap: 1rem 1.1rem;
    align-items: start;
}

@media (max-width: 700px) {
    .cabinet-transit-logistics__grid {
        grid-template-columns: 1fr;
    }
}

.cabinet-transit-logistics__dl {
    display: grid;
    gap: 0.6rem 1rem;
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.4;
}

.cabinet-transit-logistics__dl > div {
    margin: 0;
    padding: 0.6rem 0.75rem;
    border-radius: 10px;
    background: rgba(15, 36, 52, 0.04);
    border: 1px solid rgba(15, 36, 52, 0.08);
}

.cabinet-transit-logistics__dl dt {
    margin: 0 0 0.2rem;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: rgba(15, 36, 52, 0.52);
}

.cabinet-transit-logistics__dl dd {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f2434;
    word-break: break-word;
}

.cabinet-transit-logistics__eta-value {
    font-weight: 800;
    color: #0d5a32;
    letter-spacing: -0.02em;
}

.cabinet-transit-logistics__eta-note {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.72rem;
    font-weight: 500;
    line-height: 1.3;
}

.cabinet-transit-logistics__photo {
    min-width: 0;
}

.cabinet-transit-track {
    list-style: none;
    margin: 0.35rem 0 0;
    padding: 0.25rem 0 0 0.1rem;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.cabinet-transit-track__step {
    display: flex;
    gap: 0.6rem;
    position: relative;
    padding: 0.1rem 0 0.75rem 0.15rem;
    align-items: flex-start;
}

.cabinet-transit-track__body {
    min-width: 0;
    flex: 1;
    padding-top: 0.05rem;
}

.cabinet-transit-track__marker {
    position: relative;
    z-index: 2;
    width: 0.56rem;
    height: 0.56rem;
    margin-top: 0.38rem;
    border-radius: 50%;
    flex-shrink: 0;
    background: #dbeade;
    border: 2px solid #5a8f6a;
    box-shadow: 0 0 0 2px rgba(10, 90, 50, 0.08);
}

.cabinet-transit-track__step--current .cabinet-transit-track__marker {
    background: #0a5a32;
    border-color: #064a28;
    box-shadow: 0 0 0 4px rgba(10, 90, 50, 0.2);
    animation: cabinet-transit-pulse 1.8s ease-in-out infinite;
}

.cabinet-transit-track__step--upcoming .cabinet-transit-track__marker {
    background: #f2f5f2;
    border-color: #a8b8ae;
}

.cabinet-transit-track__step--done .cabinet-transit-track__marker {
    background: #0a5a32;
    border-color: #0a3d22;
}

@keyframes cabinet-transit-pulse {
    0%,
    100% {
        box-shadow: 0 0 0 4px rgba(10, 90, 50, 0.2);
    }

    50% {
        box-shadow: 0 0 0 7px rgba(10, 90, 50, 0.08);
    }
}

.cabinet-transit-track__label {
    margin: 0 0 0.3rem 0;
    font-size: 0.9rem;
    font-weight: 800;
    color: #0f2434;
    line-height: 1.2;
    letter-spacing: -0.02em;
    min-width: 0;
}

.cabinet-transit-track__date-block {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin: 0 0 0.5rem 0;
    max-width: 100%;
}

.cabinet-transit-track__date-line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 0.5rem;
    margin: 0;
    padding: 0.3rem 0.45rem 0.32rem 0.5rem;
    background: rgba(8, 90, 45, 0.06);
    border: 1px solid rgba(8, 90, 45, 0.16);
    border-radius: 8px;
    width: fit-content;
    max-width: 100%;
}

.cabinet-transit-track__date-line--second {
    background: rgba(12, 75, 120, 0.06);
    border-color: rgba(12, 75, 120, 0.18);
}

.cabinet-transit-track__d-hint {
    margin-left: 0.15rem;
    font-size: 0.68rem;
    font-weight: 700;
    color: #5a6d78;
    white-space: nowrap;
}

.cabinet-transit-track__d-label {
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #3d5a4a;
}

.cabinet-transit-track__date {
    font-size: 0.88rem;
    font-weight: 800;
    color: #0a5a32;
    letter-spacing: -0.02em;
}

.cabinet-transit-track__step--upcoming .cabinet-transit-track__date {
    color: #6b7a70;
    font-weight: 700;
}

.cabinet-transit-track__photo {
    min-width: 0;
    max-width: 420px;
}

.cabinet-transit-track__img-wrap {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(15, 36, 52, 0.1);
    background: #eef0f1;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset, 0 2px 10px -6px rgba(8, 30, 20, 0.15);
}

.cabinet-transit-track__img-wrap--from-card {
    border-color: rgba(10, 90, 50, 0.18);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset, 0 2px 12px -5px rgba(5, 60, 30, 0.18);
}

.cabinet-transit-track__img {
    display: block;
    width: 100%;
    max-height: 200px;
    object-fit: cover;
    object-position: center 42%;
    vertical-align: middle;
}

.cabinet-transit-track__ph-placeholder {
    min-height: 92px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0.5rem 0.4rem;
    border: 1px dashed rgba(15, 36, 52, 0.18);
    border-radius: 10px;
    font-size: 0.75rem;
    line-height: 1.3;
    background: rgba(15, 36, 52, 0.03);
}

.cabinet-transit-track__note {
    margin: 0.35rem 0 0;
    font-size: 0.72rem;
    line-height: 1.35;
}

.cabinet-transit-logistics__gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cabinet-transit-logistics__gallery-item {
    margin: 0;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(15, 36, 52, 0.1);
    background: #e8eced;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.75) inset, 0 2px 8px -4px rgba(8, 30, 20, 0.2);
}

.cabinet-transit-logistics__gallery-img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100px;
    max-height: 130px;
    object-fit: cover;
    object-position: center 48%;
    vertical-align: middle;
}

.cabinet-transit-logistics__photo-frame {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(15, 36, 52, 0.1);
    background: #f0f2f4;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset, 0 4px 14px -8px rgba(12, 40, 30, 0.25);
}

.cabinet-transit-logistics__img {
    display: block;
    width: 100%;
    height: auto;
    max-height: min(28vh, 220px);
    object-fit: cover;
    object-position: center 42%;
    vertical-align: middle;
}

.cabinet-transit-logistics__photo-cap {
    margin: 0.4rem 0 0;
    font-size: 0.75rem;
    text-align: center;
}

.cabinet-transit-logistics__photo-placeholder {
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0.75rem 0.5rem;
    font-size: 0.85rem;
    line-height: 1.35;
    border-radius: 12px;
    border: 1px dashed rgba(15, 36, 52, 0.18);
    background: rgba(15, 36, 52, 0.03);
}

.cabinet-application .car-photo {
    height: 180px;
    margin-bottom: 8px;
}

.cabinet-app-car-photo {
    border-radius: 14px;
}

.cabinet-app-car-panel-wrap {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.38s ease;
    margin-top: 0.35rem;
}

.cabinet-app-car-panel-wrap.is-open {
    grid-template-rows: 1fr;
}

.cabinet-app-car-panel {
    min-height: 0;
    overflow: hidden;
}

.cabinet-app-car-panel__inner {
    padding: 0.75rem 0.15rem 0.15rem;
    border-top: 1px solid rgba(20, 60, 90, 0.12);
    margin-top: 0.35rem;
}

.cabinet-app-car-panel__title {
    margin: 0 0 0.5rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f2434;
}

.cabinet-app-car-specs {
    margin-bottom: 0.65rem !important;
    font-size: 0.9rem;
}

.cabinet-app-car-price-line {
    margin: 0 0 0.5rem;
    font-size: 0.9rem;
}

.cabinet-app-car-desc {
    margin: 0 0 0.65rem;
    line-height: 1.5;
    font-size: 0.9rem;
    color: #2a3545;
}

.cabinet-app-car-panel__footer {
    margin: 0.5rem 0 0;
    padding-top: 0.5rem;
    border-top: 1px dashed rgba(20, 60, 90, 0.12);
}

@media (prefers-reduced-motion: reduce) {
    .cabinet-app-car-panel-wrap {
        transition: none;
    }
}

.cabinet-application .car-title {
    font-size: 19px;
}

.cabinet-application .catalog-order-price {
    font-size: 24px;
}

.cabinet-application .deal-steps {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 6px;
}

.cabinet-application .deal-step {
    padding: 8px;
}

.cabinet-application .deal-step-title {
    font-size: 13px;
}

.cabinet-application .deal-step-status {
    font-size: 11px;
}

.cabinet-hero {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 14px;
    align-items: end;
    background: linear-gradient(120deg, #f8fbff, #edf4ff);
}

.cabinet-hero h1 {
    margin: 0 0 8px;
    font-size: clamp(28px, 4vw, 42px);
}

.cabinet-hero p {
    margin: 0;
}

.cabinet-kpis {
    display: grid;
    gap: 8px;
}

.cabinet-kpis div {
    border: 1px solid #d7e5fb;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.84);
    padding: 10px 12px;
}

.cabinet-kpis span {
    display: block;
    color: #5f7395;
    font-size: 12px;
    margin-bottom: 4px;
}

.cabinet-kpis strong {
    color: #123a92;
    font-size: 24px;
    line-height: 1.1;
}

.cabinet-grid {
    align-items: stretch;
}

.cabinet-grid.cabinet-tiles {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
    gap: 16px;
}

.cabinet-grid.cabinet-tiles > .cabinet-app-tile {
    margin-bottom: 0;
}

.cabinet-app-card {
    display: grid;
    gap: 8px;
    background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.cabinet-app-tile {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    gap: 0;
    padding: 14px;
}

.cabinet-app-tile .cabinet-tile-body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
    min-width: 0;
    padding-top: 12px;
}

.cabinet-app-tile .cabinet-tile-photo {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    margin-bottom: 0;
    flex-shrink: 0;
    aspect-ratio: 16 / 10;
    background-size: cover;
    background-position: center;
}

.cabinet-app-tile a.cabinet-tile-photo {
    text-decoration: none;
}

.cabinet-tile-photo--no-car {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 16 / 10;
    border-radius: 16px;
    border: 1px dashed #c5d4e0;
    background: linear-gradient(135deg, #eef3fb, #f8fbff);
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    padding: 8px;
}

.cabinet-app-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: flex-start;
}

.cabinet-app-head h3 {
    margin: 0;
}

.cabinet-app-car {
    margin: 0;
    font-weight: 700;
    color: #1f355e;
}

.cabinet-app-actions {
    margin-top: auto;
}

.favorites-hero {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 14px;
    align-items: end;
    background: linear-gradient(120deg, #f8fbff, #edf4ff);
}

.favorites-hero h1 {
    margin: 0 0 8px;
    font-size: clamp(28px, 4vw, 42px);
}

.favorites-hero p {
    margin: 0;
}

.favorites-kpi {
    border: 1px solid #d7e5fb;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.84);
    padding: 10px 12px;
}

.favorites-kpi span {
    display: block;
    color: #5f7395;
    font-size: 12px;
    margin-bottom: 4px;
}

.favorites-kpi strong {
    color: #123a92;
    font-size: 26px;
    line-height: 1.1;
}

.favorites-added {
    margin-left: 8px;
    font-size: 12px;
}

.home-promo {
    display: grid;
    /* minmax(0,…) — иначе на узком экране трек 1fr не сжимается, текст вылезает вправо */
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: 16px;
    background: linear-gradient(135deg, #0f1b3c, #1c3885);
    color: #ecf3ff;
    border-color: #2c4f9e;
    padding: 14px;
    align-items: stretch;
    min-width: 0;
}

.home-promo-main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.home-promo-main h1 {
    margin: 0 0 10px;
    font-size: clamp(24px, 3.3vw, 42px);
    line-height: 1.12;
    max-width: 560px;
    overflow-wrap: anywhere;
    word-wrap: break-word;
}

.home-promo-main p {
    margin: 0;
    color: #d5e6ff;
    font-size: 17px;
    max-width: 560px;
    overflow-wrap: anywhere;
    word-wrap: break-word;
}

.promo-slider {
    position: relative;
    background: rgba(8, 18, 44, 0.35);
    border-radius: 14px;
    padding: 8px 8px 34px;
    height: 100%;
    min-width: 0;
}

.promo-slider-viewport {
    overflow: hidden;
    border-radius: 12px;
    height: 100%;
    min-width: 0;
    max-width: 100%;
}

.promo-slider-track {
    display: flex;
    transition: transform 0.45s ease;
    height: 100%;
}

.promo-slide {
    min-width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    background: rgba(8, 18, 44, 0.62);
    background-size: cover;
    background-position: center;
    border: 1px solid rgba(163, 196, 255, 0.32);
    border-radius: 12px;
    padding: 14px;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow-wrap: anywhere;
    word-wrap: break-word;
}

.promo-slide span {
    display: inline-block;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #91c6ff;
    margin-bottom: 8px;
}

.promo-slide h3 {
    margin: 0 0 8px;
    font-size: 22px;
    line-height: 1.15;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-wrap: break-word;
}

.promo-slide p {
    margin: 0;
    font-size: 14px;
    color: #d6e6ff;
    max-width: 100%;
    margin-bottom: 12px;
    overflow-wrap: anywhere;
    word-wrap: break-word;
}

.promo-slider-progress {
    height: 4px;
    margin: 10px 4px 0;
    border-radius: 999px;
    background: rgba(193, 215, 255, 0.36);
    overflow: hidden;
}

.promo-slider-progress-fill {
    display: block;
    width: 0%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #90bbff 0%, #ffffff 100%);
}

.promo-slider-dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 9px;
    display: flex;
    justify-content: center;
    gap: 6px;
}

.promo-dot {
    width: 7px;
    height: 7px;
    border: 0;
    border-radius: 999px;
    background: rgba(196, 214, 255, 0.45);
    cursor: pointer;
    padding: 0;
}

.promo-dot.active {
    background: #fff;
}

.brand-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 8px;
}

.brand-pill {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #d8e4f7;
    background: linear-gradient(180deg, #fbfdff, #f2f7ff);
    padding: 6px 10px;
    border-radius: 10px;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
    min-width: 0;
}

.brand-pill:hover {
    transform: translateY(-1px);
    border-color: #bfd2f4;
    box-shadow: 0 10px 20px -16px rgba(24, 76, 188, 0.45);
}

.brand-logo-wrap {
    min-width: 32px;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1px solid #dbe6f7;
    overflow: hidden;
    flex-shrink: 0;
}

.brand-logo-img {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.brand-name {
    color: #1d2f52;
    font-weight: 600;
    font-size: 13px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.brand-meta {
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: 4px;
    flex-wrap: nowrap;
}

.brand-count {
    font-size: 11px;
    line-height: 1.2;
    color: #537062;
    white-space: nowrap;
}

.credit-box {
    background: linear-gradient(140deg, #f3f8ff, #ffffff);
}

.credit-form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
    align-items: end;
}

.credit-result {
    display: flex;
    align-items: center;
    background: #ecf4ff;
    border: 1px solid #cfe0ff;
    border-radius: 10px;
    min-height: 44px;
    padding: 0 12px;
    font-weight: 700;
    color: #1840a1;
}

.credit-buy-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.car-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 6px;
}

.car-title-row h1 {
    margin: 0;
}

.social-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 10px;
}

.social-grid.icons-only {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.social-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid #d9e5f8;
    background: linear-gradient(180deg, #fcfdff, #f2f7ff);
    color: #173d95;
    font-weight: 700;
}

.social-pill.icon-only {
    width: 46px;
    height: 46px;
    padding: 0;
    justify-content: center;
}

.social-pill img {
    width: 24px;
    height: 24px;
    object-fit: contain;
    flex: 0 0 24px;
}

.social-pill:hover {
    border-color: #bfd2f4;
    box-shadow: 0 10px 20px -16px rgba(24, 76, 188, 0.45);
}

.social-contacts-link {
    margin-top: 10px;
}

.admin-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    margin-bottom: 14px;
}

.admin-hero {
    border: 1px solid #d9e6fb;
    border-radius: 14px;
    padding: 16px;
    background: linear-gradient(125deg, #f9fcff 0%, #eef4ff 50%, #f8fbff 100%);
    margin-bottom: 14px;
}

.admin-eyebrow {
    margin-bottom: 10px;
    background: #edf3ff;
    color: #1f4cb6;
    border: 1px solid #d2e1ff;
}

.admin-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
}

.admin-kpi {
    border: 1px solid #d7e5fb;
    background: rgba(255, 255, 255, 0.74);
    border-radius: 12px;
    padding: 10px 12px;
}

.admin-kpi span {
    display: block;
    font-size: 12px;
    color: #607496;
    margin-bottom: 6px;
}

.admin-kpi strong {
    font-size: 24px;
    color: #143b93;
    line-height: 1.1;
}

.admin-kpi-link {
    display: block;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}

.admin-kpi-link:hover {
    transform: translateY(-1px);
    border-color: #bdd2f8;
    background: #f4f8ff;
    box-shadow: 0 12px 22px -18px rgba(24, 76, 188, 0.55);
}

.admin-kpi-link:focus-visible {
    outline: 2px solid #7ea8ff;
    outline-offset: 2px;
}

.admin-kpi-link:hover span,
.admin-kpi-link:hover strong,
.admin-kpi-link:focus-visible span,
.admin-kpi-link:focus-visible strong {
    color: #123a92;
}

.admin-table-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 12px;
    margin-bottom: 10px;
}

.admin-table-head h2 {
    margin: 0 0 4px;
}

.admin-users-table-head {
    flex-wrap: wrap;
}

.admin-users-search-form {
    display: grid;
    grid-template-columns: minmax(220px, 320px) auto;
    gap: 10px;
    align-items: end;
}

.admin-users-search-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

@media (max-width: 720px) {
    .admin-users-search-form {
        grid-template-columns: 1fr;
    }

    .admin-users-search-actions {
        width: 100%;
    }
}

.admin-table-wrap {
    overflow-x: auto;
    border: 1px solid #dbe7fa;
    border-radius: 12px;
    background: #fff;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 860px;
}

.admin-table th,
.admin-table td {
    border-bottom: 1px solid #e1e8f5;
    padding: 11px 10px;
    text-align: left;
    vertical-align: top;
}

.admin-table th {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #5c7195;
    background: #f7faff;
}

.admin-table tbody tr:hover {
    background: #f8fbff;
}

.admin-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.admin-inline-stack {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 220px;
}

.admin-note-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.admin-note-field input {
    width: 100%;
}

.admin-accreditation-details {
    width: 100%;
}

.admin-accreditation-details summary {
    cursor: pointer;
    color: #205fd4;
    font-weight: 600;
}

.admin-details-body {
    margin-top: 8px;
    padding: 10px 12px;
    border: 1px solid #dbe6f8;
    border-radius: 12px;
    background: #f7faff;
}

.admin-details-body p {
    margin: 0 0 8px;
}

.btn-danger {
    background: linear-gradient(120deg, #b53a3a, #da5050);
}

.btn-danger:hover {
    background: linear-gradient(120deg, #972f2f, #ba4040);
}

.admin-grid-form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.admin-actions-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.import-methods {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.import-method-card {
    border: 1px solid #dce6f8;
    border-radius: 12px;
    background: #f9fbff;
    padding: 12px;
}

.import-method-card h3 {
    margin: 0 0 8px;
}

.import-method-card p {
    margin: 0 0 10px;
}

.check-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
}

.check-label input {
    width: 18px;
    height: 18px;
}

/* Заявка в каталоге: чекбокс согласия + кнопка дилеру на разных строках (не inline-flex в одной линии) */
.check-label--agree-terms {
    display: flex;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    align-items: flex-start;
    flex-wrap: nowrap;
}

.check-label--agree-terms input {
    margin-top: 0.1rem;
    flex-shrink: 0;
    accent-color: #0f7d40;
}

.check-label--agree-terms {
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    background: rgba(15, 125, 64, 0.05);
    border: 1px solid rgba(15, 125, 64, 0.12);
    max-width: 100%;
    box-sizing: border-box;
}

.catalog-apply-submit-dealer {
    margin-top: 0.85rem;
    padding: 0.7rem 1.35rem;
    min-height: 48px;
    border-radius: 14px;
    font-size: 1.02rem;
    letter-spacing: 0.01em;
    box-shadow: 0 10px 26px -14px rgba(15, 125, 64, 0.5);
}

.admin-image-preview {
    border: 1px solid #dbe6f8;
    border-radius: 12px;
    background: #f7faff;
    padding: 10px;
}

.admin-image-preview img {
    display: block;
    width: min(100%, 420px);
    height: auto;
    border-radius: 10px;
    border: 1px solid #cfddf4;
    margin: 8px 0;
    background: #fff;
}

.admin-image-preview p {
    margin: 0;
    word-break: break-all;
}

.admin-pagination,
.catalog-pagination {
    margin-top: 16px;
}

.admin-map-card {
    background: linear-gradient(155deg, #fcfdff, #f3f8ff);
}

.admin-dashboard-hero {
    background: linear-gradient(125deg, #f9fcff 0%, #eef4ff 55%, #f8fbff 100%);
}

.admin-dashboard-hero h1 {
    margin: 0 0 8px;
}

.admin-dashboard-hero > p {
    margin: 0 0 12px;
}

.admin-dashboard-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
}

.admin-dashboard-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 10px;
}

.admin-dashboard-link {
    border: 1px solid #d7e4fb;
    border-radius: 12px;
    background: linear-gradient(180deg, #ffffff, #f7faff);
    padding: 12px;
    display: grid;
    gap: 5px;
    color: #1d3f87;
}

.admin-dashboard-link strong {
    color: #143b93;
}

.admin-dashboard-link span {
    color: #5d7295;
    font-size: 14px;
}

.admin-dashboard-link:hover {
    border-color: #bfd2f4;
    box-shadow: 0 10px 20px -16px rgba(24, 76, 188, 0.45);
    color: #1d3f87;
}

.admin-applications-page {
    padding: 14px;
}

.admin-applications-page .admin-hero {
    padding: 12px;
    margin-bottom: 10px;
}

.admin-applications-page .admin-head {
    margin-bottom: 8px;
}

.admin-applications-page .admin-head h1 {
    margin: 0 0 4px;
    font-size: 26px;
}

.admin-applications-page .admin-head p {
    margin: 0;
    font-size: 13px;
}

.admin-applications-page .admin-eyebrow {
    margin-bottom: 6px;
    padding: 5px 10px;
}

.admin-applications-page .admin-kpis {
    gap: 8px;
}

.admin-applications-page .admin-kpi {
    padding: 8px 10px;
    border-radius: 10px;
}

.admin-applications-page .admin-kpi span {
    margin-bottom: 4px;
}

.admin-applications-page .admin-kpi strong {
    font-size: 20px;
}

.admin-applications-page .admin-table-head {
    margin-bottom: 8px;
}

.admin-applications-page .admin-table-head h2 {
    font-size: 20px;
}

.admin-applications-page .admin-table-head .muted {
    font-size: 13px;
}

.admin-applications-page .admin-table th,
.admin-applications-page .admin-table td {
    padding: 8px;
    font-size: 13px;
}

.admin-applications-page .application-email {
    font-size: 12px;
    line-height: 1.2;
}

.admin-applications-page .admin-actions .btn {
    min-height: 30px;
    padding: 6px 10px;
    border-radius: 8px;
    font-size: 13px;
}

.admin-map-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
}

.admin-map-head h2 {
    margin: 0 0 6px;
}

.admin-map-layout {
    display: grid;
    grid-template-columns: 1.5fr minmax(220px, 0.8fr);
    gap: 12px;
}

.admin-map-shell {
    border: 1px solid #d5e4fa;
    border-radius: 14px;
    overflow: hidden;
    min-height: 320px;
    background: #f1f6ff;
}

.admin-map-shell iframe {
    display: block;
    width: 100%;
    min-height: 320px;
    border: 0;
}

.admin-map-points {
    display: grid;
    gap: 8px;
}

.admin-point {
    border: 1px solid #d9e7fb;
    border-radius: 12px;
    background: #fff;
    padding: 12px;
}

.admin-point strong {
    display: block;
    margin-bottom: 4px;
    color: #123a92;
}

.admin-point span {
    color: #5c7195;
    font-size: 14px;
}

.admin-pagination nav[role="navigation"],
.catalog-pagination nav[role="navigation"] {
    display: grid;
    gap: 10px;
}

.admin-pagination .sm\:hidden,
.catalog-pagination .sm\:hidden {
    display: none !important;
}

.admin-pagination .hidden.sm\:flex-1,
.catalog-pagination .hidden.sm\:flex-1 {
    display: flex !important;
}

.admin-pagination .sm\:flex-1,
.catalog-pagination .sm\:flex-1 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.admin-pagination .inline-flex,
.catalog-pagination .inline-flex {
    display: inline-flex;
    align-items: center;
}

.admin-pagination .shadow-sm,
.catalog-pagination .shadow-sm {
    box-shadow: none;
}

.admin-pagination .rounded-md,
.admin-pagination .rounded-l-md,
.admin-pagination .rounded-r-md,
.catalog-pagination .rounded-md,
.catalog-pagination .rounded-l-md,
.catalog-pagination .rounded-r-md {
    border-radius: 8px;
}

.admin-pagination a,
.admin-pagination span[aria-current="page"] > span,
.admin-pagination span[aria-disabled="true"] > span,
.catalog-pagination a,
.catalog-pagination span[aria-current="page"] > span,
.catalog-pagination span[aria-disabled="true"] > span {
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border: 1px solid #d6e1f3;
    background: #fff;
    color: #25467f;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.admin-pagination span[aria-current="page"] > span,
.catalog-pagination span[aria-current="page"] > span {
    background: #e8f0ff;
    border-color: #bfd3fb;
    color: #183f9e;
    font-weight: 700;
}

.admin-pagination span[aria-disabled="true"] > span,
.catalog-pagination span[aria-disabled="true"] > span {
    color: #8da0c0;
    background: #f6f9ff;
}

.admin-pagination svg,
.catalog-pagination svg {
    width: 16px;
    height: 16px;
}

ol { margin: 0; padding-left: 20px; }

@media (max-width: 760px) {
    .topbar-inner {
        align-items: flex-start;
        min-height: auto;
        padding: 10px 0;
        flex-direction: column;
    }

    .topbar-links {
        width: 100%;
        justify-content: flex-start;
    }

    .topbar-links.is-auth {
        justify-items: stretch;
    }

    .topbar-auth-stack {
        width: 100%;
    }

    .topbar-admin-layout {
        justify-items: stretch;
    }

    .topbar-admin-mainline,
    .topbar-admin-subline {
        width: 100%;
    }

    .topbar-nav-main,
    .topbar-nav-user,
    .topbar-nav-auth,
    .topbar-nav-admin {
        width: 100%;
    }

    .topbar-user-badge {
        width: 100%;
        justify-content: space-between;
    }

    .topbar-user-name {
        width: 100%;
        justify-content: flex-start;
    }

    .topbar-link {
        width: 100%;
        justify-content: flex-start;
    }

    .auth-cta {
        width: 100%;
        justify-content: center;
    }

    .footer-main {
        grid-template-columns: 1fr;
    }

    .footer-bottom {
        flex-direction: column;
    }

    .home-promo {
        grid-template-columns: 1fr;
    }

    .promo-slider {
        padding: 10px 10px 38px;
    }

    .promo-slide h3 {
        font-size: 20px;
    }

    .hero {
        padding: 28px 22px;
    }

    .trust {
        flex-direction: column;
        align-items: flex-start;
    }

    .catalog-hero {
        grid-template-columns: 1fr;
        padding: 22px;
    }

    .dealers-hero {
        grid-template-columns: 1fr;
    }

    .cabinet-hero {
        grid-template-columns: 1fr;
    }

    .favorites-hero {
        grid-template-columns: 1fr;
    }

    .dealers-search-form {
        grid-template-columns: 1fr;
    }

    .dealers-search-actions {
        width: 100%;
    }

    .price {
        font-size: 26px;
    }

    .catalog-order-row {
        grid-template-columns: 1fr;
    }

    .catalog-list-card {
        grid-template-columns: 1fr;
    }

    .catalog-list-media {
        min-height: 200px;
        margin-bottom: 8px;
    }

    .catalog-list-top {
        grid-template-columns: 1fr;
    }

    .car-card-horizontal {
        grid-template-columns: 1fr;
    }

    .car-photo-side {
        min-height: 200px;
        margin-bottom: 8px;
    }

    .catalog-dealer-info,
    .car-card-horizontal .car-actions {
        grid-column: auto;
    }

    .car-actions-right {
        justify-content: flex-start;
    }

    .catalog-car-content-side {
        grid-template-columns: 1fr;
        row-gap: 10px;
    }

    .contacts-map-layout {
        grid-template-columns: 1fr;
    }

    .rag-chat-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .rag-chat-input-row {
        grid-template-columns: 1fr;
    }

    .home-assistant-toggle {
        right: 14px;
        bottom: 14px;
        width: 56px;
        height: 56px;
    }

    .home-assistant-panel {
        right: 12px;
        bottom: 80px;
        width: calc(100vw - 24px);
        height: calc(100vh - 106px);
        max-height: calc(100vh - 106px);
    }

    .home-assistant-panel.is-fullscreen {
        top: 0;
        left: 0;
        right: auto;
        bottom: auto;
        width: 100vw;
        height: 100vh;
        max-height: 100vh;
        border-radius: 0;
        border: 0;
        padding: 12px;
        transform: none;
    }

    .home-assistant-panel.is-open.is-fullscreen {
        transform: none;
    }

    .home-assistant-form {
        grid-template-columns: 1fr;
    }

    .admin-pagination .sm\:flex-1,
    .catalog-pagination .sm\:flex-1 {
        display: grid;
    }

    .admin-map-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-map-layout {
        grid-template-columns: 1fr;
    }
}

/* Runtime theme override */
:root {
    --bg: #f2f8f4;
    --surface: #ffffff;
    --text: #13221a;
    --muted: #5b6f62;
    --border: #d9e8dd;
    --brand: #14a551;
    --brand-dark: #0f8b45;
    --success: #0f8b45;
}

body {
    background:
        radial-gradient(1200px 580px at -15% -20%, #dff2e5 0%, transparent 62%),
        radial-gradient(1000px 500px at 110% -10%, #ecf8ef 0%, transparent 58%),
        var(--bg) !important;
    color: var(--text) !important;
}

.topbar {
    border-bottom-color: #d7e8dd !important;
    box-shadow: 0 14px 38px -28px rgba(14, 55, 30, 0.55) !important;
}

.logo,
a {
    color: #116a37;
}

a:hover {
    color: #0e592f;
}

.topbar-nav-main,
.topbar-nav-user,
.topbar-nav-auth,
.topbar-nav-admin,
.topbar-link,
.btn,
.auth-cta,
.catalog-pagination a,
.catalog-pagination span[aria-current="page"] > span,
.catalog-pagination span[aria-disabled="true"] > span {
    border-radius: 999px !important;
}

.topbar-link {
    color: #18653c !important;
}

.topbar-link:hover {
    color: #0f6e36 !important;
    background: #eaf7ef !important;
    border-color: #cfe8d7 !important;
}

.topbar-link.is-active {
    color: #0c6231 !important;
    background: #ddf2e5 !important;
    border-color: #bfe1cc !important;
}

.card {
    border-color: #d9e8de !important;
    border-radius: 22px !important;
    box-shadow: 0 22px 46px -38px rgba(15, 67, 37, 0.45) !important;
}

.home-promo,
.catalog-hero,
.dealers-hero,
.cabinet-hero,
.favorites-hero,
.admin-dashboard-hero {
    border-radius: 28px !important;
    border: 1px solid #c7e3d2 !important;
}

.home-promo {
    background: linear-gradient(125deg, rgba(5, 48, 25, 0.94), rgba(10, 97, 46, 0.88) 55%, rgba(22, 147, 73, 0.82)) !important;
}

.catalog-hero {
    background:
        linear-gradient(125deg, rgba(8, 53, 28, 0.94), rgba(11, 101, 49, 0.86) 55%, rgba(22, 145, 72, 0.8)),
        url("/images/home/catalog-hero.webp") center/cover no-repeat !important;
    color: #edfff3 !important;
}

.btn,
.auth-cta {
    background: linear-gradient(120deg, #14a551, #0f8b45) !important;
    color: #fff !important;
    box-shadow: 0 14px 24px -16px rgba(17, 102, 52, 0.58) !important;
}

.btn:hover {
    background: linear-gradient(120deg, #0f8c45, #0d773b) !important;
}

.btn.secondary {
    background: #e9f7ee !important;
    color: #116a37 !important;
    border: 1px solid #cde8d6 !important;
    box-shadow: none !important;
}

input,
select,
textarea {
    border-radius: 14px !important;
    border-color: #cfe2d4 !important;
    background: #fcfefd !important;
}

input:focus,
select:focus,
textarea:focus {
    border-color: #7bc897 !important;
    box-shadow: 0 0 0 4px rgba(20, 165, 81, 0.14) !important;
}

.chip {
    background: #def2e5 !important;
    color: #116b37 !important;
}

.price,
.catalog-order-price {
    color: #0f7d40 !important;
}

.admin-table th {
    background: #f2faf5 !important;
    color: #245438 !important;
}

.admin-table tbody tr:hover {
    background: #f6fcf8 !important;
}

.footer-legal-links {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 12px;
}

.footer-legal-links a {
    font-size: 13px;
    color: #2f6545;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.footer-partner-link {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin-top: 6px;
    min-height: 34px;
    padding: 7px 14px;
    border-radius: 999px;
    border: 1px solid #b9dcc6;
    background: linear-gradient(120deg, #14a551, #0f8b45);
    color: #fff;
    font-weight: 700;
}

.footer-partner-link:hover {
    color: #fff;
    background: linear-gradient(120deg, #0f8f47, #0c773a);
    border-color: #a5d2b6;
}

.legal-page {
    max-width: 920px;
}

.legal-page h2 {
    margin-top: 20px;
    margin-bottom: 8px;
    font-size: 24px;
}

.report-work__head {
    margin-bottom: 8px;
}

.report-work__kicker {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 800;
    margin: 0 0 6px;
}

.report-work h1 {
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1.2;
    margin: 0 0 10px;
}

.report-work__section {
    margin-top: 22px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
}

.report-work__section:first-of-type {
    border-top: none;
    padding-top: 0;
}

.report-work__section ul,
.report-work__section ol {
    margin: 10px 0 0;
    padding-left: 1.35rem;
    display: grid;
    gap: 8px;
}

.report-work__section p + ul,
.report-work__section p + ol {
    margin-top: 8px;
}

.report-work__foot {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px dashed var(--border);
    font-size: 13px;
    line-height: 1.5;
}

.report-work__table-wrap {
    margin-top: 12px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #fbfdff;
}

.report-work__table {
    width: 100%;
    min-width: 640px;
    border-collapse: collapse;
    font-size: 14px;
    line-height: 1.45;
}

.report-work__table th,
.report-work__table td {
    padding: 10px 12px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid var(--border);
}

.report-work__table th {
    background: #f0f4fb;
    font-weight: 800;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #4a5d78;
}

.report-work__table tr:last-child td {
    border-bottom: none;
}

.report-work__table td:nth-child(1) {
    font-weight: 600;
    width: 22%;
    min-width: 140px;
    color: #1a2a40;
}

/* Групповой отчёт ДЗ (пароль /otchet) */
.group-gate {
    min-height: 50vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 16px;
}

.group-gate__card {
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
    padding: 28px 24px 22px;
}

.group-gate__title {
    margin: 0 0 6px;
    font-size: 22px;
    line-height: 1.2;
}

.group-gate__lead {
    margin: 0 0 16px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.45;
}

.group-gate__form {
    display: grid;
    gap: 10px;
}

.group-gate__label {
    font-weight: 700;
    font-size: 13px;
    color: #3d4d66;
}

.group-gate__input {
    width: 100%;
}

.group-gate__input--error {
    border-color: #c74a4a !important;
    background: #fff8f8;
}

.group-gate__error {
    margin: 0;
    font-size: 13px;
    color: var(--error);
}

.group-gate__submit {
    width: 100%;
    justify-content: center;
    margin-top: 4px;
}

.group-gate__back {
    margin: 16px 0 0;
    font-size: 14px;
}

/* Отчёт /otchet: на всю ширину, «слайды» презентации */
body.page--report-deck {
    background: linear-gradient(180deg, #dfe6f2 0%, #e8edf5 40%, #eef2f8 100%);
}

body.page--report-deck main.container.page {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

body.page--report-deck .page {
    padding-top: 0;
    padding-bottom: 0;
}

body.page--report-gate .page {
    padding-top: 28px;
    padding-bottom: 42px;
}

body.page--report-gate .group-gate {
    min-height: 55vh;
}

/* Страница с разделами ДЗ (после входа) */
.group-dz:not(.group-dz--deck) {
    max-width: 900px;
}

.group-dz--deck {
    max-width: none;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.group-dz__slide {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: clamp(28px, 3.5vw, 48px) clamp(16px, 4vw, 56px) clamp(36px, 4.5vw, 56px);
    background: #fbfcff;
    border: none;
    border-bottom: 1px solid rgba(20, 45, 90, 0.1);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.group-dz > .group-dz__section.group-dz__slide:nth-child(2n) {
    background: #ffffff;
}

.group-dz > .group-dz__section.group-dz__slide:nth-child(2n + 1) {
    background: #f3f6fc;
}

.group-dz__slide--cover {
    background: linear-gradient(145deg, #0c1e45 0%, #15356b 42%, #1c4a8c 78%, #2257d6 100%) !important;
    color: #e8f0ff;
    box-shadow:
        0 4px 0 rgba(0, 0, 0, 0.06),
        0 24px 48px -28px rgba(8, 24, 70, 0.55);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.group-dz__slide--cover .group-dz__badge {
    color: rgba(200, 220, 255, 0.95);
}

.group-dz__slide--cover .group-dz__badge a {
    color: #b5d4ff;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.group-dz__slide--cover .group-dz__badge a:hover {
    color: #fff;
}

.group-dz__hero-title {
    margin: 6px 0 12px;
    line-height: 1.15;
    color: #fff;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.25);
    font-size: clamp(24px, 3.2vw, 40px);
    font-weight: 800;
    letter-spacing: -0.02em;
    max-width: 56rem;
}

.group-dz__brand {
    color: #21a038;
    font-weight: 900;
    text-shadow: none;
    margin-right: 0.12em;
}

.group-dz__hero-sub {
    margin: 0 0 8px;
    max-width: 48rem;
    font-size: clamp(16px, 1.7vw, 20px);
    line-height: 1.4;
    font-weight: 600;
    color: rgba(232, 240, 255, 0.98);
    padding-bottom: 12px;
    border-bottom: 2px solid rgba(33, 160, 56, 0.65);
}

.group-dz__hero-ctx {
    margin: 0 0 6px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(200, 215, 240, 0.88);
}

.group-dz__hero-program {
    margin: 0 0 20px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: rgba(255, 255, 255, 0.96);
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.2);
}

.group-dz__team {
    margin: 0 0 22px;
    padding: 16px 18px;
    border-radius: 14px;
    background: rgba(0, 0, 0, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.2);
    max-width: 28rem;
}

.group-dz__team-title {
    margin: 0 0 10px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: rgba(220, 230, 255, 0.85);
}

.group-dz__team-list {
    margin: 0;
    padding-left: 1.2rem;
    display: grid;
    gap: 4px 12px;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 600;
    color: #f0f4ff;
}

@media (min-width: 480px) {
    .group-dz__team-list {
        grid-template-columns: 1fr 1fr;
    }
}

.group-dz__slide--cover .group-dz__org {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: #e8f0ff;
}

.group-dz__slide--cover .group-dz__org-list {
    color: rgba(232, 240, 255, 0.95);
}

.group-dz__slide--cover .group-dz__toc {
    background: rgba(6, 18, 44, 0.35);
    border: 1px dashed rgba(255, 255, 255, 0.28);
}

.group-dz__slide--cover .group-dz__toc-title {
    color: rgba(220, 232, 255, 0.9);
}

.group-dz__slide--cover .group-dz__toc a {
    color: #b8d7ff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.group-dz__slide--cover .group-dz__toc a:hover {
    color: #fff;
}

.group-dz__h2--on-dark {
    border-top: none !important;
    padding-top: 0 !important;
    color: #fff !important;
}

.group-dz__slide--meta {
    background: #f1f4fa !important;
    border-bottom: none;
    padding-top: 24px;
    padding-bottom: 32px;
}

.group-dz__badge {
    font-size: 13px;
    margin: 0 0 4px;
    font-weight: 600;
}

.group-dz__h2 {
    font-size: clamp(20px, 2.2vw, 26px);
    margin: 0 0 12px;
    padding-top: 0;
    border-top: none;
    color: #0f1f3d;
}

.group-dz__section.group-dz__slide > .group-dz__h2 {
    font-size: clamp(22px, 2.4vw, 30px);
    margin-bottom: 8px;
}

.group-dz__h3 {
    font-size: 17px;
    margin: 0 0 6px;
    color: #1a2d50;
}

.group-dz__h4 {
    font-size: 15px;
    margin: 0 0 6px;
    font-weight: 800;
}

.group-dz__lead,
.group-dz__org p {
    margin: 0 0 8px;
    line-height: 1.5;
}

.group-dz__org {
    margin-top: 20px;
    padding: 16px 18px;
    border-radius: 14px;
    background: linear-gradient(135deg, #f4f7fc 0%, #f0f4fb 100%);
    border: 1px solid var(--border);
}

.group-dz__org-list {
    margin: 0;
    padding-left: 1.25rem;
    display: grid;
    gap: 6px;
    font-size: 14px;
    line-height: 1.45;
}

.group-dz__toc {
    margin: 20px 0 8px;
    padding: 14px 16px;
    border: 1px dashed #b8c5dc;
    border-radius: 12px;
    background: #fcfdff;
}

.group-dz__toc-title {
    margin: 0 0 8px;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #5c6a82;
    font-weight: 800;
}

.group-dz__toc ol {
    margin: 0;
    padding-left: 1.25rem;
    display: grid;
    gap: 6px;
    font-size: 15px;
    font-weight: 600;
}

.group-dz__section.group-dz__slide {
    margin-top: 0;
}

.group-dz__block {
    margin: 16px 0 0;
    padding: 0 0 4px;
}

.group-dz__hint {
    font-size: 14px;
    color: #5a6b85;
    margin: 0 0 8px;
    line-height: 1.45;
}

.group-dz__hint.small {
    font-size: 13px;
    margin-top: 2px;
}

.group-dz__slot {
    min-height: 2.5em;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px dashed #b9c4d6;
    background: #fafbfd;
    color: #4a5d75;
    font-size: 14px;
    line-height: 1.5;
}

.group-dz__slot--highlight {
    border-style: solid;
    background: #f5f9ff;
    border-color: #c5d4ec;
    color: var(--text);
}

.group-dz__placeholder {
    margin: 0;
    font-style: italic;
    color: #7d8a9c;
}

.group-dz__figure {
    margin: 0 0 8px;
}

.group-dz__screenshot-grid {
    display: grid;
    gap: 16px;
    margin-top: 8px;
}

@media (min-width: 700px) {
    .group-dz__screenshot-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* 3.1 — связка этапов: промпт + решение о миграции (на всю ширину сетки) */
.group-dz__evo-bridge {
    grid-column: 1 / -1;
    margin: 2px 0 6px;
    padding: 14px 16px 4px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    background: linear-gradient(165deg, #f9fbff 0%, #f3f6fb 100%);
    box-shadow: 0 8px 24px -20px rgba(20, 45, 100, 0.2);
}

.group-dz__evo-bridge-lead {
    margin-bottom: 8px;
}

.group-dz__evo-bridge .group-dz__tech-p:last-of-type {
    margin-bottom: 0;
}

.group-dz__evo-quote {
    margin: 0 0 12px;
    padding: 12px 14px 12px 16px;
    border: 0;
    border-left: 4px solid #1a5fb4;
    border-radius: 0 8px 8px 0;
    background: #fff;
    font-size: 15px;
    line-height: 1.5;
    color: #1a2d50;
}

.group-dz__evo-quote p {
    margin: 0;
}

.group-dz__shot {
    margin: 0;
}

.group-dz__screenshot-slot {
    min-height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 16px;
    border-radius: 12px;
    border: 2px dashed #c5d0e0;
    background: repeating-linear-gradient(
        -45deg,
        #f8f9fc,
        #f8f9fc 8px,
        #f1f3f8 8px,
        #f1f3f8 16px
    );
    color: #6a7a90;
    font-size: 13px;
    line-height: 1.4;
}

.group-dz__shot .group-dz__screenshot-slot {
    min-height: 180px;
}

/* 3.1 — скриншот этапа: превью в сетке, полный размер в dialog */
.group-dz__screenshot-slot--has-img {
    padding: 0;
    border-style: solid;
    border-color: #c0c8d8;
    background: #0c0f14;
    align-items: stretch;
    overflow: hidden;
}

.group-dz__shot-open {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
    line-height: 0;
    font: inherit;
    color: inherit;
}

.group-dz__shot-open:focus-visible {
    outline: 2px solid #1a5fb4;
    outline-offset: 2px;
}

.group-dz__shot-open img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 220px;
    object-fit: contain;
    object-position: top center;
}

.group-dz__shot-cap {
    margin: 8px 0 0;
    font-size: 14px;
    line-height: 1.5;
    color: #2c323a;
}

.group-dz__shot--full {
    grid-column: 1 / -1;
}

.group-dz__shot--full .group-dz__shot-open img {
    max-height: 260px;
}

/* 4.2 — обратная связь: тезисы + раскрытый полный ответ */
.group-dz__fb {
    margin: 18px 0 0;
    padding: 0 0 2px;
}

.group-dz__fb-h {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 800;
    color: #0c1a2e;
}

.group-dz__fb .group-dz__fb-theses {
    margin: 0 0 10px 1.1rem;
    padding: 0;
    font-size: 14.5px;
    line-height: 1.55;
    color: #2c323a;
}

.group-dz__fb-raw {
    margin: 0;
    font-size: 14px;
    border: 1px solid #d8e0ec;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}

.group-dz__fb-raw-sum {
    display: block;
    padding: 10px 12px 10px 14px;
    cursor: pointer;
    color: #1a4a8c;
    font-weight: 600;
    user-select: none;
    list-style: none;
}

.group-dz__fb-raw[open] .group-dz__fb-raw-sum {
    border-bottom: 1px solid #e6ecf4;
    background: #f5f8fc;
}

.group-dz__fb-raw-txt {
    margin: 0;
    padding: 12px 14px 14px;
    white-space: pre-wrap;
    line-height: 1.5;
    color: #2c323a;
    max-height: min(50vh, 22rem);
    overflow: auto;
}

.group-dz__fb-raw-txt--empty {
    color: #6a7a90;
    font-style: italic;
    white-space: normal;
    max-height: none;
}

.group-dz__fb-all {
    margin: 22px 0 0;
    padding: 16px 18px 18px;
    border-radius: 12px;
    border: 1px solid #c9d4e8;
    background: linear-gradient(165deg, #f5f8ff 0%, #eef3fb 100%);
}

.group-dz__fb-all .group-dz__fb-h {
    margin-bottom: 10px;
    font-size: 16px;
}

.group-dz__fb-all .group-dz__api-list {
    margin: 0 0 0 1.1rem;
}

/* 4.2.1 — анкета: тезисы + свёрнутая таблица (скрин как в источнике) */
.group-dz__survey-theses {
    margin: 10px 0 14px 1.1rem;
}

.group-dz__survey-raw {
    margin: 0;
    font-size: 14px;
    border: 1px solid #d8e0ec;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}

.group-dz__survey-raw-sum {
    display: block;
    padding: 10px 12px 10px 14px;
    cursor: pointer;
    color: #1a4a8c;
    font-weight: 600;
    user-select: none;
}

.group-dz__survey-raw[open] .group-dz__survey-raw-sum {
    border-bottom: 1px solid #e6ecf4;
    background: #f5f8fc;
}

.group-dz__survey-raw-inner {
    margin: 0;
    padding: 12px;
    overflow: auto;
    max-height: min(85vh, 48rem);
    background: #fafbfd;
}

.group-dz__survey-raw-inner img {
    display: block;
    width: auto;
    max-width: none;
    min-width: min(100%, 720px);
    height: auto;
    margin: 0 auto;
}

.group-dz__lightbox {
    max-width: min(98vw, 1600px);
    width: min(98vw, 1600px);
    padding: 0;
    border: none;
    border-radius: 12px;
    background: rgba(10, 14, 22, 0.94);
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
    color: #fff;
}

.group-dz__lightbox::backdrop {
    background: rgba(0, 0, 0, 0.55);
    cursor: pointer;
}

.group-dz__lightbox-box {
    position: relative;
    padding: 10px 10px 14px;
}

.group-dz__lightbox-box img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 88vh;
    margin: 0 auto;
    object-fit: contain;
}

.group-dz__lightbox-close {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
}

.group-dz__lightbox-close:hover {
    background: rgba(255, 255, 255, 0.28);
}

.group-dz__prompt,
.group-dz__test {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #e8edf5;
}

.group-dz__prompt:first-of-type,
.group-dz__test:first-of-type {
    border-top: none;
    padding-top: 0;
}

.group-dz__prompt-k {
    margin: 0 0 8px;
    font-size: 14px;
    line-height: 1.55;
    color: #1a2a44;
}

.group-dz__prompt-k:last-child {
    margin-bottom: 0;
}

.group-dz__prompt-l {
    display: inline-block;
    min-width: 7.5rem;
    margin-right: 4px;
    font-weight: 800;
    color: #0f2140;
}

.group-dz__refl {
    display: grid;
    gap: 20px;
}

.group-dz__refl-sec {
    margin: 0;
}

.group-dz__refl-h {
    margin: 0 0 10px;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.3;
    color: #0f2140;
}

.group-dz__refl-list {
    margin: 0;
    padding-left: 1.2rem;
    display: grid;
    gap: 8px;
    font-size: 14px;
    line-height: 1.55;
    color: #1a2a44;
}

.group-dz__refl-list li::marker {
    color: #4a6fa5;
}

.group-dz__iter-list {
    margin: 8px 0 0;
    padding-left: 1.25rem;
    display: grid;
    gap: 12px;
    font-size: 14px;
}

.group-dz__iter-one {
    margin: 0;
    line-height: 1.55;
    color: #1a2a44;
}

.group-dz__iter-p {
    display: inline-block;
    margin-right: 6px;
    font-weight: 800;
    font-size: 13px;
    color: #0f2140;
}

.group-dz__footer:not(.group-dz__slide) {
    margin-top: 32px;
    padding-top: 20px;
    border-top: 1px solid var(--border);
}

.group-dz__lock-form {
    margin: 0;
}

/* Раздел 1.1 — слайд «Проблема рынка» */
.group-dz__market {
    margin-top: 14px;
    padding: 18px 18px 20px;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: linear-gradient(165deg, #fbfdff 0%, #f4f7fc 100%);
    box-shadow: 0 14px 36px -28px rgba(20, 45, 100, 0.25);
}

.group-dz__market-title {
    margin: 0 0 14px;
    font-size: clamp(17px, 1.9vw, 21px);
    font-weight: 800;
    line-height: 1.25;
    color: #0f2140;
}

.group-dz__market-grid {
    display: grid;
    gap: 20px;
}

@media (min-width: 800px) {
    .group-dz__market-grid {
        grid-template-columns: 1fr 1fr;
        align-items: start;
    }
}

.group-dz__market-subtitle {
    margin: 0 0 10px;
    font-size: 15px;
    font-weight: 800;
    color: #1a3358;
}

.group-dz__market-col--funnel {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Воронка: три прямоугольника, сужаются книзу (центрировано) */
.group-dz__funnel-viz {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: 100%;
    max-width: 400px;
    margin: 0 auto 4px;
    filter: drop-shadow(0 6px 16px rgba(8, 24, 60, 0.16));
}

.group-dz__funnel-tier {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 13px 15px;
    text-align: left;
    color: #fff;
    font-size: 14px;
    line-height: 1.45;
    box-sizing: border-box;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.18);
    border-radius: 10px;
}

.group-dz__funnel-tier--1 {
    background: linear-gradient(180deg, #e14d4b 0%, #b83232 100%);
    width: 100%;
    font-size: 14px;
}

.group-dz__funnel-tier--2 {
    width: 86%;
    max-width: 344px;
    background: linear-gradient(180deg, #f2c12e 0%, #c99512 100%);
    font-size: 13.5px;
    padding: 12px 14px;
}

.group-dz__funnel-tier--3 {
    width: 70%;
    max-width: 280px;
    background: linear-gradient(180deg, #2eb872 0%, #1a6b42 100%);
    font-size: 13px;
    line-height: 1.45;
    padding: 11px 12px;
}

.group-dz__funnel-tier-txt strong {
    font-weight: 800;
    font-size: 1.08em;
}

.group-dz__market-growth {
    margin: 6px 0 0;
    width: 100%;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
    padding: 12px 14px;
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.45;
    color: #1a3358;
    background: linear-gradient(180deg, #f7f9fc, #eef2f8);
    border: 1px solid #d8e0ec;
    border-radius: 10px;
    box-shadow: 0 2px 10px -6px rgba(20, 45, 100, 0.2);
}

.group-dz__market-growth strong {
    font-weight: 800;
    color: #0f3d8a;
    font-size: 1.05em;
}

/* Autostat: импорт б/у и новых */
.group-dz__autostat {
    margin-top: 18px;
    padding: 16px 18px 18px;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: linear-gradient(168deg, #f8fafc 0%, #eef2f8 100%);
    box-shadow: 0 10px 28px -22px rgba(20, 45, 100, 0.3);
}

.group-dz__autostat-title {
    margin: 0 0 8px;
    font-size: clamp(16px, 1.65vw, 18px);
    font-weight: 800;
    line-height: 1.25;
    color: #0f2140;
}

.group-dz__autostat-cite {
    margin: 0 0 14px;
    font-size: 12.5px;
    color: #5a6a82;
}

.group-dz__autostat-cite a {
    color: #1e5bb8;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.group-dz__autostat-cite a:hover {
    color: #0f3d8a;
}

.group-dz__autostat-figures {
    display: grid;
    gap: 16px;
    margin: 0 0 14px;
}

@media (min-width: 900px) {
    .group-dz__autostat-figures {
        grid-template-columns: 1fr 1fr;
        gap: 18px;
        align-items: start;
    }
}

.group-dz__autostat-figure {
    margin: 0;
    padding: 10px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(180, 198, 220, 0.5);
}

.group-dz__autostat-img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 6px;
    box-shadow: 0 6px 24px -10px rgba(0, 0, 0, 0.28);
}

.group-dz__autostat-cap {
    margin: 10px 0 0;
    font-size: 12px;
    font-weight: 700;
    color: #3d4d66;
    text-align: center;
    line-height: 1.35;
}

.group-dz__autostat-concl {
    margin: 0;
    padding: 12px 14px;
    font-size: 14px;
    line-height: 1.5;
    color: #152a4a;
    background: linear-gradient(180deg, #fff9e6, #fff3d6);
    border: 1px solid rgba(200, 160, 80, 0.35);
    border-radius: 10px;
}

.group-dz__autostat-concl strong {
    color: #0f2140;
}

.group-dz__market-col--barriers {
    background: linear-gradient(145deg, #fcfdff 0%, #f0f4fa 100%);
    border: 1px solid #d0dce8;
    border-radius: 10px;
    padding: 12px 12px 14px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 8px 22px -18px rgba(20, 45, 100, 0.32);
}

.group-dz__market-col--barriers .group-dz__market-subtitle {
    margin: 0 0 9px;
    padding-bottom: 6px;
    font-size: 13.5px;
    border-bottom: 1px solid rgba(21, 60, 117, 0.12);
    display: flex;
    align-items: center;
    gap: 6px;
}

.group-dz__market-col--barriers .group-dz__market-subtitle::before {
    content: "";
    display: block;
    width: 3px;
    height: 1.05em;
    border-radius: 2px;
    background: linear-gradient(180deg, #c73e3a, #6b8fd4);
    flex-shrink: 0;
}

.group-dz__barrier-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 10px;
    font-size: 13px;
    line-height: 1.44;
    color: #2a3a52;
    counter-reset: barrier;
}

@media (max-width: 420px) {
    .group-dz__barrier-list {
        grid-template-columns: 1fr;
    }
}

.group-dz__barrier-list li {
    display: flex;
    gap: 9px;
    align-items: flex-start;
    margin: 0;
    min-height: 0;
    padding: 9px 9px 9px 8px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(180, 198, 220, 0.5);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.group-dz__barrier-list li:hover {
    border-color: rgba(107, 143, 212, 0.45);
    box-shadow: 0 2px 12px -6px rgba(20, 60, 120, 0.2);
}

.group-dz__barrier-num {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 800;
    color: #fff;
    line-height: 1;
    border-radius: 6px;
    background: linear-gradient(145deg, #4a6fa5, #1e3a5f);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}

.group-dz__barrier-body {
    flex: 1;
    min-width: 0;
}

.group-dz__barrier-list strong {
    color: #0f2d5c;
    display: block;
    margin-bottom: 1px;
    font-size: 13px;
    letter-spacing: -0.01em;
}

/* 1.2 Целевая аудитория — как на слайде (2 панели + полоса вывода) */
.group-dz__ta {
    margin-top: 6px;
}

.group-dz__ta-grid {
    display: grid;
    gap: 14px 16px;
    align-items: stretch;
}

@media (min-width: 800px) {
    .group-dz__ta-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.group-dz__ta-panel {
    margin: 0;
    padding: 16px 16px 18px;
    border-radius: 14px;
    background: #e8f5e9;
    border: 1px solid rgba(33, 160, 56, 0.22);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
}

.group-dz__ta-panel-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.group-dz__ta-ico {
    flex-shrink: 0;
    color: #21a038;
    display: flex;
    align-items: center;
    justify-content: center;
}

.group-dz__ta-ico--pair svg {
    display: block;
}

.group-dz__ta-kicker {
    margin: 0;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.2;
    color: #0d3d1f;
    letter-spacing: -0.02em;
}

.group-dz__ta-facts {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 15px;
    line-height: 1.5;
    color: #1a1f1a;
}

.group-dz__ta-facts li {
    margin: 0 0 8px;
}

.group-dz__ta-facts li:last-child {
    margin-bottom: 0;
}

.group-dz__ta-fact-label {
    font-weight: 700;
    color: #0d3d1f;
}

.group-dz__ta-why-title {
    margin: 0 0 12px;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.3;
    color: #0f1f0f;
}

.group-dz__ta-reasons {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.group-dz__ta-reasons li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    line-height: 1.45;
    color: #1a1f1a;
}

.group-dz__ta-ico--bullet {
    margin-top: 1px;
    width: 24px;
    height: 24px;
}

.group-dz__ta-ico--bullet svg {
    display: block;
    width: 20px;
    height: 20px;
}

.group-dz__ta-reasons li span:last-child {
    min-width: 0;
}

.group-dz__ta-banner {
    margin-top: 14px;
    padding: 14px 18px 16px;
    border-radius: 4px 4px 10px 10px;
    background: linear-gradient(180deg, #155f3a 0%, #0d4a2e 100%);
    box-shadow: 0 8px 24px -12px rgba(5, 40, 25, 0.45);
}

.group-dz__ta-banner-txt {
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 500;
    color: #f4fcf7;
    max-width: 64rem;
}

.group-dz__ta-banner-txt strong {
    color: #fff;
    font-weight: 800;
}

/* 1.3 — Инсайты пользователей (опрос) */
.group-dz__ins-preface {
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.5;
    color: #3a4a62;
    max-width: 52rem;
}

.group-dz__insights {
    margin-top: 10px;
    padding: 18px 18px 20px;
    border-radius: 14px;
    border: 1px solid #d0dae8;
    background: linear-gradient(180deg, #fcfdff 0%, #f2f5fa 100%);
    box-shadow: 0 12px 32px -24px rgba(20, 45, 100, 0.22);
}

.group-dz__ins-title {
    margin: 0 0 8px;
    font-size: clamp(18px, 1.8vw, 22px);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f2140;
}

.group-dz__ins-sub {
    margin: 0 0 16px;
    font-size: 15px;
    line-height: 1.5;
    color: #2c3d56;
    max-width: 56rem;
}

.group-dz__ins-hero {
    margin: 0 0 10px;
    padding: 20px 20px 22px;
    border-radius: 14px;
    background: linear-gradient(135deg, #0f2d5c 0%, #1a4a8c 50%, #2257b8 100%);
    box-shadow: 0 12px 36px -18px rgba(20, 60, 140, 0.45);
}

.group-dz__ins-hero-line {
    margin: 0;
    font-size: clamp(19px, 2.1vw, 24px);
    line-height: 1.35;
    font-weight: 600;
    color: #eef4ff;
    max-width: 44rem;
}

.group-dz__ins-hero-line strong {
    color: #fff;
    font-weight: 800;
}

.group-dz__ins-hero-note {
    margin: 0 0 18px;
    font-size: 15px;
    line-height: 1.5;
    color: #3d4d66;
    max-width: 54rem;
}

.group-dz__ins-metrics {
    display: grid;
    gap: 12px;
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
}

@media (min-width: 600px) {
    .group-dz__ins-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1000px) {
    .group-dz__ins-metrics {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.group-dz__ins-metric {
    padding: 14px 14px 12px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #d8e2ee;
    box-shadow: 0 2px 10px -4px rgba(0, 0, 0, 0.08);
}

.group-dz__ins-metric-val {
    margin: 0 0 4px;
    font-size: clamp(32px, 4vw, 40px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.04em;
    color: #0f3d8a;
}

.group-dz__ins-metric-h {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    color: #1a2d50;
}

.group-dz__ins-metric-out {
    margin: 0;
    font-size: 12.5px;
    line-height: 1.45;
    color: #4a5d75;
}

.group-dz__ins-metric-tag {
    display: inline-block;
    margin-right: 4px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #5a6b86;
}

/* «Доп. по опросу» — раскрытие вниз (<details>) */
.group-dz__ins-more {
    margin-top: 4px;
    border-radius: 12px;
    border: 1px solid #c5d0e0;
    background: linear-gradient(180deg, #f6f8fc 0%, #eef2f8 100%);
    box-shadow: 0 4px 18px -10px rgba(20, 45, 100, 0.15);
}

.group-dz__ins-more-sum {
    list-style: none;
    position: relative;
    padding: 12px 14px 12px 36px;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.4;
    color: #0f2d5c;
    cursor: pointer;
    user-select: none;
}

.group-dz__ins-more-sum::-webkit-details-marker {
    display: none;
}

.group-dz__ins-more-sum::before {
    content: "";
    position: absolute;
    left: 14px;
    top: 50%;
    width: 0;
    height: 0;
    margin-top: -5px;
    border-style: solid;
    border-width: 5px 0 5px 7px;
    border-color: transparent transparent transparent #2257b8;
    transition: transform 0.2s ease;
}

.group-dz__ins-more[open] .group-dz__ins-more-sum::before {
    transform: rotate(90deg);
}

.group-dz__ins-more-sum:hover,
.group-dz__ins-more-sum:focus-visible {
    color: #0a1f4a;
    outline: none;
}

.group-dz__ins-more-sum:focus-visible {
    box-shadow: inset 0 0 0 2px rgba(34, 87, 184, 0.35);
    border-radius: 10px;
}

.group-dz__ins-more-body {
    padding: 0 12px 14px 12px;
    border-top: 1px solid #d0d8e4;
    animation: group-dz-ins-reveal 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
    .group-dz__ins-more-body {
        animation: none;
    }
}

@keyframes group-dz-ins-reveal {
    from {
        opacity: 0.65;
    }
    to {
        opacity: 1;
    }
}

/* Опрос дилера «Тачки» (под опросом ФЛ, раздел 1.3) */
.group-dz__dealer {
    margin-top: 20px;
    padding: 16px 16px 18px;
    border-radius: 12px;
    border: 1px solid #d4c4a8;
    background: linear-gradient(165deg, #fffbf5 0%, #f5efe4 100%);
    box-shadow: 0 10px 26px -20px rgba(80, 50, 20, 0.25);
}

.group-dz__dealer-title {
    margin: 0 0 6px;
    font-size: clamp(16px, 1.55vw, 18px);
    font-weight: 800;
    line-height: 1.25;
    color: #3d2e18;
}

.group-dz__dealer-hint {
    margin: 0 0 14px;
    font-size: 13px;
    line-height: 1.45;
    color: #5a4d3d;
    max-width: 48rem;
}

.group-dz__dealer-theses {
    margin: 0 0 14px;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}

@media (min-width: 720px) {
    .group-dz__dealer-theses {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.group-dz__dealer-thesis {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin: 0;
    padding: 12px 12px 12px 10px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(160, 130, 80, 0.4);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9);
}

.group-dz__dealer-thesis-n {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 800;
    color: #fff;
    border-radius: 7px;
    background: linear-gradient(145deg, #8b6914, #5c4510);
    line-height: 1;
}

.group-dz__dealer-thesis-body {
    flex: 1;
    min-width: 0;
    font-size: 13.5px;
    line-height: 1.48;
    color: #2c2418;
}

.group-dz__dealer-thesis-body > strong {
    display: block;
    margin-bottom: 4px;
    font-size: 14px;
    font-weight: 800;
    color: #1a140c;
}

.group-dz__dealer-thesis-body > span {
    display: block;
    font-size: 13px;
    line-height: 1.48;
    color: #3d3220;
}

/* Подробности дилера — тот же паттерн, что <details> у ФЛ */
.group-dz__dealer-more {
    margin-top: 2px;
    border-radius: 12px;
    border: 1px solid #b8a078;
    background: linear-gradient(180deg, #faf6ef 0%, #f0e8dc 100%);
    box-shadow: 0 4px 14px -8px rgba(60, 40, 10, 0.2);
}

.group-dz__dealer-more-sum {
    list-style: none;
    position: relative;
    padding: 11px 14px 11px 36px;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.4;
    color: #3d2e18;
    cursor: pointer;
    user-select: none;
}

.group-dz__dealer-more-sum::-webkit-details-marker {
    display: none;
}

.group-dz__dealer-more-sum::before {
    content: "";
    position: absolute;
    left: 14px;
    top: 50%;
    margin-top: -5px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 7px;
    border-color: transparent transparent transparent #7a5a20;
    transition: transform 0.2s ease;
}

.group-dz__dealer-more[open] .group-dz__dealer-more-sum::before {
    transform: rotate(90deg);
}

.group-dz__dealer-more-sum:hover,
.group-dz__dealer-more-sum:focus-visible {
    color: #1f1408;
    outline: none;
}

.group-dz__dealer-more-sum:focus-visible {
    box-shadow: inset 0 0 0 2px rgba(122, 90, 32, 0.35);
    border-radius: 10px;
}

.group-dz__dealer-more-body {
    padding: 0 10px 12px 10px;
    border-top: 1px solid rgba(150, 120, 70, 0.35);
    animation: group-dz-ins-reveal 0.3s ease;
}

@media (prefers-reduced-motion: reduce) {
    .group-dz__dealer-more-body {
        animation: none;
    }
}

.group-dz__dealer-sections {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.group-dz__dealer-sec {
    margin: 0;
    padding: 11px 12px 12px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.65);
    border: 1px solid rgba(180, 150, 100, 0.35);
}

.group-dz__dealer-h5 {
    margin: 0 0 8px;
    font-size: 12.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #5c4528;
}

.group-dz__dealer-list {
    margin: 0;
    padding-left: 1.1rem;
    font-size: 13.5px;
    line-height: 1.5;
    color: #2c2418;
}

.group-dz__dealer-list li {
    margin: 0 0 5px;
}

.group-dz__dealer-list li:last-child {
    margin-bottom: 0;
}

.group-dz__dealer-list strong {
    color: #1a140c;
    font-weight: 800;
}

/* Слайд «Решение: единое окно» (после блока дилера) */
.group-dz__solution {
    margin-top: 22px;
    padding: 20px 18px 18px;
    border-radius: 14px;
    border: 1px solid #e2e6ec;
    background-color: #fdfefe;
    background-image:
        linear-gradient(rgba(0, 0, 0, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, 0.03) 1px, transparent 1px);
    background-size: 24px 24px;
    box-shadow: 0 14px 40px -28px rgba(15, 40, 90, 0.2);
}

.group-dz__solution-title {
    margin: 0 0 18px;
    font-size: clamp(17px, 1.85vw, 22px);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.02em;
    color: #0f1216;
    max-width: 46rem;
}

.group-dz__solution-formula {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
    gap: 8px 6px;
}

.group-dz__solution-cards {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
    gap: 6px 8px;
    flex: 1 1 100%;
}

@media (min-width: 1100px) {
    .group-dz__solution-cards {
        flex: 1 1 auto;
        max-width: calc(100% - 220px);
    }
}

.group-dz__sol-card {
    flex: 1 1 200px;
    max-width: 280px;
    margin: 0;
    padding: 14px 14px 16px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #e5e9f0;
    box-shadow: 0 8px 28px -16px rgba(20, 35, 70, 0.18);
}

.group-dz__sol-ico {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 8px;
    color: #21a038;
    border-radius: 10px;
    background: linear-gradient(180deg, #f0faf2, #e4f5e8);
    border: 1px solid rgba(33, 160, 56, 0.2);
}

.group-dz__sol-card-t {
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.25;
    color: #0f1216;
}

.group-dz__sol-card-t::after {
    content: ":";
}

.group-dz__sol-card-p {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.45;
    color: #2a323c;
}

.group-dz__sol-op,
.group-dz__sol-eq {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    width: 36px;
    height: 48px;
    font-size: 28px;
    font-weight: 300;
    color: #9aa4b2;
    line-height: 1;
}

.group-dz__sol-eq {
    width: 100%;
    height: auto;
    padding: 8px 0;
    font-size: 36px;
}

@media (min-width: 900px) {
    .group-dz__sol-eq {
        width: 48px;
        height: auto;
        min-height: 120px;
        padding: 0 4px;
    }

    .group-dz__solution-formula {
        flex-wrap: nowrap;
        align-items: center;
    }
}

/* Итог + мокап телефона (скрин интерфейса) */
.group-dz__sol-out-wrap {
    display: flex;
    flex: 1 1 100%;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 12px 20px;
    max-width: 100%;
}

@media (min-width: 600px) {
    .group-dz__sol-out-wrap {
        flex: 1 1 320px;
        flex-direction: row;
        align-items: center;
        max-width: min(100%, 520px);
    }
}

.group-dz__sol-result {
    flex: 0 1 260px;
    max-width: 300px;
    text-align: center;
    padding: 8px 10px 4px;
    align-self: center;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid #e5e9f0;
}

.group-dz__sol-out-wrap .group-dz__sol-result {
    flex: 0 1 auto;
}

.group-dz__sol-out-h {
    margin: 0 0 4px;
    font-size: 15px;
    line-height: 1.35;
    color: #0f1216;
}

.group-dz__sol-out-p {
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
    color: #3d4d5c;
}

.group-dz__sol-phone-fig {
    margin: 0;
    padding: 0;
    line-height: 0;
    flex: 0 0 auto;
}

.group-dz__sol-phone-img {
    display: block;
    width: auto;
    max-width: min(38vw, 150px);
    max-height: 280px;
    height: auto;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 12px 36px -10px rgba(0, 0, 0, 0.22);
}

@media (min-width: 900px) {
    .group-dz__sol-phone-img {
        max-width: 160px;
        max-height: 300px;
    }
}

/* Слайд «Фокус MVP» (п. 1.4) */
.group-dz__mvp {
    margin-top: 10px;
    padding: 22px 20px 24px;
    border-radius: 12px;
    border: 1px solid #e4e7ed;
    background: #fff;
    box-shadow: 0 10px 40px -28px rgba(12, 28, 60, 0.18);
}

.group-dz__mvp-hero {
    margin: 0 0 20px;
    font-size: clamp(18px, 1.9vw, 24px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.018em;
    color: #0c1016;
    max-width: 48rem;
}

.group-dz__mvp-viz {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.group-dz__mvp-grid {
    display: grid;
    gap: 24px 32px;
    align-items: center;
}

@media (min-width: 900px) {
    .group-dz__mvp-grid {
        grid-template-columns: minmax(0, 0.44fr) minmax(0, 0.56fr);
    }
}

.group-dz__mvp-viz-sq {
    position: relative;
    width: 100%;
    max-width: min(100%, 360px);
    aspect-ratio: 1;
    margin: 0 auto;
    overflow: hidden;
    background-color: #f7f8fa;
    background-image:
        linear-gradient(rgba(0, 0, 0, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, 0.045) 1px, transparent 1px);
    background-size: 16px 16px;
    background-position: center center;
    border-radius: 2px;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.04);
}

.group-dz__mvp-viz-sq::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: radial-gradient(
        ellipse 58% 58% at 50% 50%,
        rgba(33, 160, 56, 0.14) 0%,
        rgba(33, 160, 56, 0.05) 45%,
        transparent 68%
    );
}

.group-dz__mvp-ring {
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border: 1px solid #cfd5dd;
    border-radius: 50%;
    pointer-events: none;
}

.group-dz__mvp-ring--o {
    width: 92%;
    height: 92%;
}

.group-dz__mvp-ring--m {
    width: 66%;
    height: 66%;
}

.group-dz__mvp-ring--i {
    width: 40%;
    height: 40%;
}

.group-dz__mvp-conn {
    position: absolute;
    z-index: 2;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.group-dz__mvp-cross {
    fill: none;
    stroke: #d7dce3;
    stroke-width: 0.35;
    stroke-opacity: 0.9;
}

.group-dz__mvp-tie {
    fill: none;
    stroke: #9aa3b0;
    stroke-width: 0.4;
    stroke-linecap: round;
}

.group-dz__mvp-core {
    position: absolute;
    z-index: 3;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: min(33%, 102px);
    height: min(33%, 102px);
    min-width: 80px;
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 8px;
    text-align: center;
    font-size: clamp(9px, 2.1vw, 12px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #fff;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
    background: linear-gradient(160deg, #2bb85a 0%, #21a038 40%, #168a2f 100%);
    border-radius: 50%;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.2) inset,
        0 0 0 1px rgba(0, 0, 0, 0.06),
        0 6px 20px -4px rgba(10, 90, 40, 0.5),
        0 0 32px 10px rgba(33, 160, 56, 0.28);
}

.group-dz__mvp-bubble {
    position: absolute;
    z-index: 4;
    max-width: 45%;
    padding: 5px 7px 6px;
    font-size: 10px;
    line-height: 1.28;
    font-weight: 600;
    color: #1a1f24;
    background: #fff;
    border: 1px solid #b3bcc8;
    border-radius: 3px 5px 5px 3px;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}

.group-dz__mvp-bubble--a {
    top: 3%;
    right: 0;
    max-width: 46%;
}

.group-dz__mvp-bubble--b {
    right: -1%;
    top: 50%;
    max-width: 50%;
    transform: translateY(-50%);
}

.group-dz__mvp-bubble--c {
    bottom: 4%;
    left: 0;
    max-width: 50%;
}

.group-dz__mvp-col {
    min-width: 0;
    padding-top: 0;
    padding-bottom: 2px;
}

.group-dz__mvp-txt {
    margin: 0 0 18px;
}

.group-dz__mvp-txt:last-of-type {
    margin-bottom: 16px;
}

.group-dz__mvp-lbl {
    margin: 0 0 6px;
    font-size: 14.5px;
    font-weight: 800;
    line-height: 1.2;
    color: #0c1016;
}

.group-dz__mvp-p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #2f3640;
}

.group-dz__mvp-card {
    margin: 0;
    padding: 16px 18px 18px;
    border-radius: 8px;
    background: #fcfcfd;
    border: 1px solid #d9dee6;
    box-shadow: 0 4px 16px -8px rgba(0, 0, 0, 0.1);
}

.group-dz__mvp-card-t {
    margin: 0 0 12px;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
    color: #0c1016;
}

.group-dz__mvp-func {
    margin: 0;
    padding: 0;
    list-style: none;
}

.group-dz__mvp-func li {
    position: relative;
    margin: 0 0 9px;
    padding-left: 1.15rem;
    font-size: 14.5px;
    line-height: 1.55;
    color: #2f3640;
}

.group-dz__mvp-func li:last-child {
    margin-bottom: 0;
}

.group-dz__mvp-func li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.52em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #21a038;
    box-shadow: 0 0 0 1px rgba(33, 160, 56, 0.25);
}

/* п. 1.5: иллюстрация каталога (файл), правая часть с QR обрезана; панель справа */
.group-dz__live {
    margin-top: 14px;
    padding: 24px 20px 26px;
    border-radius: 20px;
    border: 1px solid #dde1e8;
    background: #f1f2f4;
    box-shadow: 0 8px 32px -20px rgba(10, 24, 50, 0.18);
}

.group-dz__live-hero {
    margin: 0 0 20px;
    font-size: clamp(17px, 1.8vw, 22px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #0c1016;
}

.group-dz__live-grid {
    display: grid;
    gap: 22px 24px;
    align-items: start;
    grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 1024px) {
    .group-dz__live-grid {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
        align-items: stretch;
    }
}

.group-dz__live-mock--photo {
    margin: 0 auto;
    padding: 0;
    min-width: 0;
    max-width: 50%;
    border: none;
    background: transparent;
    box-shadow: none;
}

.group-dz__live-clipper {
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid #d0d5dc;
    background: #e5e7eb;
    line-height: 0;
    box-shadow: 0 8px 28px -16px rgba(0, 0, 0, 0.15);
}

/* Убираем правую зону (QR + кнопка на исходном баннере); подберите 150–160% при необходимости */
.group-dz__live-promo {
    display: block;
    width: 152%;
    max-width: none;
    height: auto;
    margin: 0;
    vertical-align: top;
    transform: translateZ(0);
}

.group-dz__live-cta {
    margin: 14px 0 0;
    text-align: center;
}

.group-dz__live-side {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
}

.group-dz__live-url-pill {
    display: inline-block;
    padding: 9px 16px 10px;
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    text-decoration: none;
    background: linear-gradient(180deg, #2bb85a, #21a038);
    border-radius: 999px;
    box-shadow: 0 2px 8px -2px rgba(20, 100, 50, 0.45);
}

.group-dz__live-url-pill:hover {
    filter: brightness(1.04);
    color: #fff;
    text-decoration: none;
}

.group-dz__live-url-pill:focus {
    outline: 2px solid #21a038;
    outline-offset: 2px;
}

.group-dz__live-panel {
    padding: 16px 16px 18px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #e2e5eb;
    box-shadow: 0 2px 14px -6px rgba(0, 0, 0, 0.1);
    flex: 1 1 auto;
    min-width: 0;
}

.group-dz__live-st {
    margin: 0 0 14px;
    font-size: 15px;
    line-height: 1.6;
    color: #2c323a;
}

.group-dz__live-st-t {
    font-weight: 800;
    color: #0c1016;
}

.group-dz__live-cj-h {
    margin: 0 0 10px;
    font-size: 14.5px;
    font-weight: 800;
    line-height: 1.3;
    color: #0c1016;
}

.group-dz__live-cj {
    position: relative;
    margin: 0;
    padding: 0 0 0 0;
    list-style: none;
    counter-reset: live-cj;
}

.group-dz__live-cj li {
    position: relative;
    margin: 0;
    padding: 0 0 14px 2.1rem;
    font-size: 14.5px;
    line-height: 1.45;
    color: #2c323a;
}

.group-dz__live-cj li:last-child {
    padding-bottom: 0;
}

.group-dz__live-cj li::before {
    counter-increment: live-cj;
    content: counter(live-cj);
    position: absolute;
    left: 0;
    top: 0;
    width: 1.45rem;
    height: 1.45rem;
    font-size: 11.5px;
    font-weight: 800;
    line-height: 1.45rem;
    text-align: center;
    color: #fff;
    background: #21a038;
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.04);
    z-index: 1;
}

.group-dz__live-cj li::after {
    content: "";
    position: absolute;
    left: 0.68rem;
    top: 1.5rem;
    bottom: 0.15rem;
    width: 2px;
    margin-left: -1px;
    background: #21a038;
    opacity: 0.35;
    border-radius: 1px;
    z-index: 0;
}

.group-dz__live-cj li:last-child::after {
    display: none;
}

.group-dz__live-cj-txt {
    display: block;
    padding-top: 1px;
}

/* п. 2.2: архитектура (фронт / бэк / БД) */
.group-dz__arch {
    margin-top: 4px;
}

.group-dz__arch-grid {
    display: grid;
    gap: 12px 14px;
    margin: 0 0 20px;
}

@media (min-width: 800px) {
    .group-dz__arch-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.group-dz__arch-card {
    margin: 0;
    padding: 14px 14px 16px;
    border-radius: 10px;
    background: #fcfcfd;
    border: 1px solid #e2e6ec;
    box-shadow: 0 4px 16px -10px rgba(0, 0, 0, 0.1);
    min-width: 0;
}

.group-dz__arch-t {
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
    color: #0c1016;
}

.group-dz__arch-p {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: #2c323a;
}

.group-dz__arch-p code {
    font-size: 0.9em;
    padding: 0.05em 0.3em;
    background: #f0f2f5;
    border: 1px solid #e4e8ee;
    border-radius: 4px;
    font-family: ui-monospace, "Cascadia Code", "Consolas", monospace;
}

.group-dz__arch-entities {
    padding: 16px 16px 18px;
    border-radius: 10px;
    background: #f6f7f9;
    border: 1px solid #e0e4eb;
}

.group-dz__arch-entities-h {
    margin: 0 0 12px;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
    color: #0c1016;
}

.group-dz__arch-ent {
    margin: 0 0 12px;
    padding: 0 0 0 1.1rem;
    font-size: 14px;
    line-height: 1.55;
    color: #2c323a;
}

.group-dz__arch-ent li {
    margin: 0 0 6px;
}

.group-dz__arch-ent li:last-child {
    margin-bottom: 0;
}

.group-dz__arch-note {
    margin: 0;
    font-size: 13px;
    line-height: 1.45;
    color: #5a6672;
    font-style: normal;
}

/* п. 2.3: язык и фреймворк (детальное описание) */
.group-dz__tech {
    margin-top: 6px;
}

.group-dz__tech-sec {
    margin: 0 0 22px;
}

.group-dz__tech-sec:last-child {
    margin-bottom: 0;
}

.group-dz__tech-h {
    margin: 0 0 10px;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.25;
    color: #0c1016;
}

.group-dz__tech-lead,
.group-dz__tech-p {
    margin: 0 0 12px;
    font-size: 14.5px;
    line-height: 1.58;
    color: #2c323a;
}

.group-dz__tech-lead:last-child,
.group-dz__tech-p:last-child {
    margin-bottom: 0;
}

.group-dz__tech-lead + .group-dz__tech-p,
.group-dz__tech-p + .group-dz__tech-p {
    margin-top: 0;
}

.group-dz__tech code {
    font-size: 0.88em;
    padding: 0.08em 0.35em;
    background: #f0f2f5;
    border: 1px solid #e4e8ee;
    border-radius: 4px;
    font-family: ui-monospace, "Cascadia Code", "Consolas", monospace;
}

/* п. 2.5: внешние API */
.group-dz__api {
    margin-top: 6px;
}

.group-dz__api .group-dz__tech-sec {
    margin-bottom: 20px;
}

.group-dz__api .group-dz__tech-sec:last-child {
    margin-bottom: 0;
}

.group-dz__api .group-dz__tech-p + .group-dz__tech-p {
    margin-top: 10px;
}

.group-dz__api code {
    font-size: 0.88em;
    padding: 0.08em 0.35em;
    background: #f0f2f5;
    border: 1px solid #e4e8ee;
    border-radius: 4px;
    font-family: ui-monospace, "Cascadia Code", "Consolas", monospace;
}

.group-dz__api-list {
    margin: 0 0 0 1.1rem;
    padding: 0;
    font-size: 14.5px;
    line-height: 1.55;
    color: #2c323a;
}

.group-dz__api-list--tight {
    margin-top: 8px;
    margin-bottom: 8px;
}

.group-dz__api-list li {
    margin: 0 0 10px;
}

.group-dz__api-list li:last-child {
    margin-bottom: 0;
}

.group-dz__ins-charts {
    display: grid;
    gap: 12px 14px;
    margin: 0 0 20px;
}

@media (min-width: 700px) {
    .group-dz__ins-charts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.group-dz__ins-chart {
    margin: 0;
    padding: 12px 12px 14px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid #d5dee8;
}

.group-dz__ins-chart-t {
    margin: 0 0 8px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #5a6b82;
}

.group-dz__ins-bwrap {
    height: 10px;
    border-radius: 5px;
    background: #e4eaf2;
    overflow: hidden;
}

.group-dz__ins-bwrap--tall {
    height: 14px;
    border-radius: 7px;
}

.group-dz__ins-fill {
    display: block;
    height: 100%;
    width: var(--w, 50%);
    border-radius: inherit;
    background: linear-gradient(90deg, #3d6db8, #2257b8);
    min-width: 3px;
}

.group-dz__ins-fill--a {
    background: linear-gradient(90deg, #21a038, #158f30);
}
.group-dz__ins-fill--b {
    background: linear-gradient(90deg, #c44a4a, #a83232);
}
.group-dz__ins-fill--c {
    background: linear-gradient(90deg, #c4942e, #9a7418);
}
.group-dz__ins-fill--d {
    background: linear-gradient(90deg, #5a6d8a, #3d4d66);
}
.group-dz__ins-fill--e {
    background: linear-gradient(90deg, #2a7fd4, #1a5a9c);
}
.group-dz__ins-fill--f {
    background: linear-gradient(90deg, #6b8fd4, #4a6aa8);
}
.group-dz__ins-fill--g {
    background: linear-gradient(90deg, #9aabd0, #6a7a9a);
}

.group-dz__ins-chart-legend {
    margin: 8px 0 0;
    font-size: 12.5px;
    line-height: 1.4;
    color: #3d4d66;
}

.group-dz__ins-chart-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.group-dz__ins-chart-list li {
    margin: 0 0 8px;
}

.group-dz__ins-chart-list li:last-child {
    margin-bottom: 0;
}

.group-dz__ins-clab {
    display: block;
    margin-top: 4px;
    font-size: 12.5px;
    line-height: 1.35;
    color: #2a3a4f;
}

.group-dz__ins-deck {
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.group-dz__ins-card {
    margin: 0;
    padding: 14px 16px 16px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #c9d4e2;
    box-shadow: 0 2px 12px -6px rgba(0, 0, 0, 0.06);
}

.group-dz__ins-card-t {
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
    color: #0f2140;
}

.group-dz__ins-stats {
    margin: 0 0 10px;
    padding-left: 1.15rem;
    font-size: 13.5px;
    line-height: 1.5;
    color: #1e3a5c;
}

.group-dz__ins-stats li {
    margin: 0 0 2px;
}

.group-dz__ins-txt {
    margin: 0;
    font-size: 14.5px;
    line-height: 1.55;
    color: #2a3a4f;
}

.group-dz__ins-final {
    padding: 16px 18px 18px;
    border-radius: 12px;
    background: linear-gradient(180deg, #f0f6ff 0%, #e4ecf8 100%);
    border: 1px solid #b8c8e0;
}

.group-dz__ins-final-t {
    margin: 0 0 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #3d5a8a;
}

.group-dz__ins-final-p {
    margin: 0;
    font-size: 15px;
    line-height: 1.55;
    color: #122238;
    max-width: 58rem;
}

.group-dz__ins-final-p strong {
    color: #0f2140;
    font-weight: 800;
}

.nowrap {
    white-space: nowrap;
}

/* Pixel pass: home + car details + card likeness */
.home-promo-main h1 {
    font-size: clamp(32px, 4.8vw, 52px) !important;
    line-height: 1.08 !important;
    margin: 0 0 10px !important;
    letter-spacing: -0.03em;
    overflow-wrap: anywhere !important;
    word-wrap: break-word !important;
    max-width: 100% !important;
}

.home-promo-main p {
    font-size: 16px;
    line-height: 1.4;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-wrap: break-word;
}

.home-promo {
    max-height: 520px;
    overflow: hidden;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.hero-actions .btn.btn-xl {
    min-height: 48px;
    padding: 12px 18px !important;
}

.promo-slider {
    border-radius: 24px !important;
    border: 1px solid rgba(203, 231, 215, 0.4);
    background: linear-gradient(160deg, rgba(8, 50, 26, 0.88), rgba(18, 100, 53, 0.8)) !important;
}

.promo-slide {
    border-radius: 18px !important;
    overflow: hidden;
}

.promo-slide h3 {
    font-size: clamp(24px, 3.2vw, 34px) !important;
    line-height: 1.08;
    margin: 8px 0 10px;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-wrap: break-word !important;
}

.promo-slide p {
    color: #d7efdf !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-wrap: break-word !important;
}

.brand-pill {
    border-radius: 16px !important;
    border-color: #d2e8d8 !important;
    background: #fbfefc !important;
}

.brand-pill:hover {
    border-color: #b7dbc4 !important;
    background: #f4fbf7 !important;
}

.catalog-cars .car-card-premium {
    border-radius: 22px !important;
    border-color: #d7e8de !important;
}

.catalog-cars .car-card-premium .car-title {
    font-size: 26px !important;
    letter-spacing: -0.02em;
}

.catalog-cars .car-card-premium .price {
    font-size: 32px !important;
    letter-spacing: -0.02em;
}

.catalog-cars .car-card-premium .car-photo {
    min-height: 192px;
}

.car-detail-card {
    display: block;
    border-radius: 20px !important;
    padding: 6px 8px 8px !important;
    position: relative;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.85) inset,
        0 14px 32px -28px rgba(12, 66, 36, 0.32) !important;
}

/* Карточка вьюпорта: высота по контенту (фото подгоняем под колонку с данными) */
.car-detail-card--viewport {
    box-sizing: border-box;
    padding: 10px 12px 14px !important;
}

/* Фото слева + контент справа */
.car-detail-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.55rem 0.75rem;
    align-items: start;
}

@media (min-width: 700px) {
    .car-detail-layout:not(.car-detail-layout--no-photo) {
        grid-template-columns: minmax(160px, 1fr) minmax(0, 1.2fr);
        column-gap: 0.85rem;
        align-items: start;
    }

    .car-detail-card--viewport .car-detail-layout:not(.car-detail-layout--no-photo) {
        align-items: stretch;
    }
}

.car-detail-layout__media {
    min-width: 0;
    border-radius: 14px;
    overflow: hidden;
    background: #e8eef2;
    align-self: start;
}

@media (min-width: 700px) {
    .car-detail-card--viewport .car-detail-layout:not(.car-detail-layout--no-photo) .car-detail-layout__media {
        position: relative;
        min-height: 0;
        align-self: stretch;
        max-width: 100%;
    }

    /* Высота колонки = высота правого блока с данными; фото — cover внутри */
    .car-detail-card--viewport .car-detail-layout:not(.car-detail-layout--no-photo) .car-detail-layout__media .car-photo {
        position: absolute;
        inset: 0;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
    }
}

.car-detail-layout__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    row-gap: 3px;
}

.car-detail-card .car-photo,
.car-detail-layout__media .car-photo {
    height: min(48vh, 360px) !important;
    min-height: 200px;
    border-radius: 14px !important;
}

@media (min-width: 700px) {
    .car-detail-card .car-detail-layout--no-photo .car-photo,
    .car-detail-layout--no-photo .car-photo {
        height: min(28vh, 220px) !important;
        min-height: 160px;
    }
}

.car-detail-photo {
    margin-bottom: 0;
}

.car-detail-header {
    margin: 0 0 2px;
}

.car-detail-header h1 {
    margin: 0;
    font-size: clamp(0.95rem, 0.5vw + 0.8rem, 1.4rem) !important;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

.car-detail-card p:has(.chip) {
    margin: 0 0 2px;
}

.car-detail-spec-line {
    margin: 0 0 3px !important;
    font-size: 0.78rem !important;
    line-height: 1.3;
}

/* Полоса: крупная цена + кнопки */
.car-detail-price-cta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 6px 8px;
    margin: 0 0 4px;
    padding: 5px 8px;
    border-radius: 12px;
    background: linear-gradient(145deg, #f0faf4 0%, #f6fcf8 50%, #ffffff 100%);
    border: 1px solid #c4e2d0;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

.car-detail-card .car-detail-price--hero {
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    min-width: 0;
    flex: 1 1 auto;
}

.car-detail-price-label {
    display: block;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #3d6b52;
    line-height: 1.2;
    margin-bottom: 2px;
}

/* Длинная подпись «Стоимость авто в …» — без all-caps */
.car-detail-price-label--with-country {
    text-transform: none;
    letter-spacing: 0.02em;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.3;
    max-width: min(22rem, 100%);
}

.car-detail-price-amount {
    display: block;
    font-size: clamp(1rem, 0.4rem + 1.5vw, 1.4rem);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.03em;
    color: #0a5c2e;
    line-height: 1.1;
    white-space: nowrap;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6);
}

/* Блок только с сеткой характеристик */
.car-detail-specs-desc {
    margin: 0 0 4px;
}

/* Компактная сетка: на широком — 4×2, иначе 2×4 */
.car-detail-card .car-spec-grid {
    margin: 0;
    gap: 4px 5px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 600px) {
    .car-detail-card .car-spec-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.car-detail-card .car-spec-grid > div {
    padding: 3px 5px 4px;
    border-radius: 8px;
}

.car-detail-card .car-spec-grid span {
    font-size: 10px;
}

.car-detail-card .car-spec-grid b {
    font-size: 12px;
}

.car-detail-card p.muted:not(.car-detail-spec-line) {
    margin: 2px 0 4px;
    font-size: 0.85rem;
}

/* Отдельный блок дилера под характеристиками */
.car-detail-dealer-section {
    margin: 0 0 3px;
    padding: 4px 6px 6px;
    border-radius: 10px;
    background: linear-gradient(165deg, #f3fbf6 0%, #ffffff 48%, #f7fdf9 100%);
    border: 1px solid #b8dcc5;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.95) inset,
        0 8px 24px -20px rgba(10, 80, 45, 0.35);
}

.car-detail-dealer-section__title {
    margin: 0 0 4px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #2a6b44;
}

.car-detail-dealer-section__name {
    margin: 0 0 1px;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.car-detail-dealer-section__name a {
    color: #0d4a28;
    text-decoration: none;
    border-bottom: 1px solid rgba(13, 74, 40, 0.25);
    transition: border-color 0.15s ease, color 0.15s ease;
}

.car-detail-dealer-section__name a:hover {
    color: #062a16;
    border-bottom-color: rgba(6, 42, 22, 0.45);
}

.car-detail-dealer-section__line {
    margin: 0 0 4px !important;
    font-size: 0.78rem !important;
}

.car-detail-dealer-section__text {
    margin: 0 0 4px;
    font-size: 0.75rem;
    line-height: 1.35;
    color: #2a4034;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.car-detail-dealer-section__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2px 4px;
    margin: 0 0 4px;
    padding: 3px 5px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid #d0ead8;
}

.car-detail-dealer-section__stats > div {
    min-width: 0;
    text-align: center;
}

.car-detail-dealer-section__stats dt {
    margin: 0 0 2px;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #4a7560;
    line-height: 1.2;
}

.car-detail-dealer-section__stats dd {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: #0a5c2e;
    line-height: 1.15;
}

.car-detail-dealer-section__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
}

@media (max-width: 520px) {
    .car-detail-dealer-section__stats {
        grid-template-columns: 1fr;
        text-align: left;
    }

    .car-detail-dealer-section__stats > div {
        text-align: left;
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 8px;
    }

    .car-detail-dealer-section__stats dt {
        margin: 0;
    }
}

/* Подсказка, что дальше — оформление заявки */
.car-detail-apply-peek {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    margin-top: 6px;
    padding: 6px 10px;
    border-radius: 12px;
    text-decoration: none;
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: #064c22;
    background: linear-gradient(145deg, #dff5e6 0%, #c8ead4 55%, #b5e0c5 100%);
    border: 1px solid #8fc9a0;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.65) inset;
    transition:
        background 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.18s ease;
}

.car-detail-apply-peek:hover {
    color: #033015;
    background: linear-gradient(145deg, #e8f8ed 0%, #d0efd9 50%, #bce5cb 100%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.75) inset,
        0 6px 16px -10px rgba(12, 90, 45, 0.35);
    transform: translateY(1px);
}

.car-detail-apply-peek__arrow {
    display: inline-block;
    font-size: 1.05em;
    line-height: 1;
    animation: carDetailApplyPeekNudge 1.8s ease-in-out infinite;
}

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

@media (prefers-reduced-motion: reduce) {
    .car-detail-apply-peek__arrow {
        animation: none;
    }
}

.car-detail-card + .catalog-apply-section {
    margin-top: 0.65rem;
}

#apply {
    border-radius: 22px !important;
    overflow: visible; /* иначе position: sticky у блока итога не срабатывает */
    scroll-margin-top: 5.5rem;
    padding: 15px 16px 18px !important;
}

/* Заявка на карточке авто — общий вид */
.catalog-apply-section {
    position: relative;
    background: linear-gradient(165deg, #fefffe 0%, #f4fbf7 48%, #eef6f0 100%) !important;
    border: 1px solid rgba(12, 66, 36, 0.14) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.75) inset,
        0 10px 36px -26px rgba(12, 66, 36, 0.2) !important;
}

/* Верхняя зелёная полоса (::before) убрана — визуально дублировала рамку и выглядела тяжело */

/* Прозрачная смета: три транша (карточка авто) */
.car-offer-tranche-wrap {
    margin: 0 0 1.25rem;
    padding: 1rem 1.05rem 1.1rem;
    border-radius: 18px;
    border: 1px solid #bfe3cd;
    background: linear-gradient(165deg, #f8fffa 0%, #eef7f0 100%);
    box-shadow: 0 4px 20px -14px rgba(8, 58, 28, 0.22);
}
.car-offer-tranche__main-title {
    margin: 0 0 0.4rem;
    font-size: clamp(1.05rem, 1.9vw, 1.2rem);
    font-weight: 800;
    color: #0a301a;
    letter-spacing: -0.02em;
}
.car-offer-tranche__intro {
    margin: 0 0 0.9rem;
    line-height: 1.45;
    font-size: 0.9rem;
}
/* Смета: ряд 1 — транш 1 | транш 2; ряд 2 — транш 3 на всю ширину (как 1+2) */
.car-offer-tranche-grid--split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
        "tranche1 tranche2"
        "tranche3 tranche3";
    gap: 0.75rem 1rem;
    align-items: start;
}

.car-offer-tranche-card--t1 {
    grid-area: tranche1;
}

.car-offer-tranche-card--t2 {
    grid-area: tranche2;
}

.car-offer-tranche-card--t3 {
    grid-area: tranche3;
}

@media (max-width: 960px) {
    .car-offer-tranche-grid--split {
        grid-template-columns: 1fr;
        grid-template-areas:
            "tranche1"
            "tranche2"
            "tranche3";
    }
}
.car-offer-tranche-card {
    margin: 0;
    padding: 0.8rem 0.75rem 0.85rem;
    border-radius: 14px;
    border: 1px solid #c8e3d2;
    background: #fff;
    box-shadow: 0 2px 12px -8px rgba(6, 48, 24, 0.15);
}
.car-offer-tranche-card__title {
    margin: 0 0 0.35rem;
    font-size: 0.88rem;
    font-weight: 800;
    color: #0d4a24;
    line-height: 1.25;
}
.car-offer-tranche-card__desc {
    margin: 0 0 0.5rem;
    font-size: 0.78rem;
    line-height: 1.4;
}
.car-offer-tranche-lines {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.32rem;
    font-size: 0.78rem;
    line-height: 1.35;
    color: #1a3326;
}
.car-offer-tranche-lines li {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.5rem;
}
.car-offer-tranche-lines--dense {
    max-height: 11.5rem;
    overflow: auto;
    padding-right: 0.2rem;
}
.car-offer-tranche-lines b {
    flex-shrink: 0;
    font-size: 0.78rem;
    white-space: nowrap;
}
.car-offer-tranche-subtotal {
    margin: 0.6rem 0 0;
    padding-top: 0.45rem;
    border-top: 1px solid rgba(12, 66, 36, 0.12);
    font-size: 0.82rem;
    font-weight: 700;
    color: #064c22;
}
.catalog-apply-heading {
    margin: 0 0 1.1rem;
    font-size: clamp(1.35rem, 2.4vw, 1.75rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #062a14;
    line-height: 1.15;
}

.catalog-apply-form {
    gap: 0 !important;
}

/* Карточка авто: слева шаги 1–4 + смета + комментарий, справа итог (sticky на всю высоту блока) */
.catalog-apply-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
    gap: 1.1rem 1.2rem;
    align-items: stretch;
    width: 100%;
}

.catalog-apply-main {
    grid-column: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}

.catalog-apply-col-aside {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    align-self: stretch;
}

.catalog-apply-top {
    min-width: 0;
}

/* Город + страховки в один ряд, доп. услуги на всю ширину снизу (широкий экран) */
.catalog-apply-steps-row {
    display: flex;
    flex-direction: column;
    gap: 0.85rem 1rem;
    align-items: stretch;
}

.catalog-apply-step {
    min-width: 0;
    padding: 0.85rem 0.9rem 0.95rem;
    border-radius: 16px;
    border: 1px solid #d0e6d9;
    background: linear-gradient(180deg, #ffffff 0%, #f5fbf7 100%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 4px 14px -8px rgba(7, 46, 23, 0.12);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.catalog-apply-step:hover {
    border-color: #b8d9c8;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 8px 22px -12px rgba(15, 125, 64, 0.18);
}

.catalog-apply-step__title {
    margin: 0 0 0.55rem;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid rgba(12, 66, 36, 0.1);
    font-size: clamp(0.95rem, 1.15vw, 1.06rem);
    font-weight: 800;
    color: #0a301a;
    letter-spacing: -0.01em;
}

.catalog-apply-step label:not(.check-label) {
    font-size: 0.88rem;
    color: #1e3d2a;
}

.catalog-apply-step .check-label {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin: 0;
    padding: 0.45rem 0.5rem;
    border-radius: 12px;
    border: 1px solid transparent;
    font-weight: 600;
    font-size: 0.86rem;
    line-height: 1.35;
    color: #233d2f;
    transition: background-color 0.18s ease, border-color 0.18s ease;
}

.catalog-apply-step .check-label:hover {
    background: rgba(15, 125, 64, 0.06);
    border-color: rgba(15, 125, 64, 0.12);
}

.catalog-apply-step .check-label input {
    margin-top: 0.15rem;
    accent-color: #0f7d40;
}

.catalog-apply-svc-list {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

/* Гарантия 1 / 2 / 3 года — отдельная колонка (сверху вниз), не в общей сетке */
.catalog-apply-svc-warranties {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    width: 100%;
    margin-top: 0.2rem;
}

@media (min-width: 1024px) {
    .catalog-apply-step--services .catalog-apply-svc-warranties {
        grid-column: 1 / -1;
    }
}

/* Доп. услуги: карточки + кастомная отметка вместо системного чекбокса */
:is(.catalog-apply-step--services, .catalog-svc-tiles-form, .catalog-apply-step--insurance) .catalog-svc-tile {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    width: 100%;
    min-height: 2.9rem;
    box-sizing: border-box;
    margin: 0;
    padding: 0.6rem 0.75rem 0.6rem 0.6rem;
    border-radius: 14px;
    border: 1px solid rgba(12, 66, 36, 0.14);
    background: linear-gradient(165deg, #ffffff 0%, #f7fcf9 100%);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.96) inset;
    font-weight: 600;
    font-size: 0.86rem;
    line-height: 1.35;
    color: #1a2e24;
    cursor: pointer;
    transition:
        border-color 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.15s ease;
}

:is(.catalog-apply-step--services, .catalog-svc-tiles-form, .catalog-apply-step--insurance) .catalog-svc-tile:hover {
    border-color: rgba(20, 140, 75, 0.38);
    background: linear-gradient(165deg, #fefffe 0%, #eef8f0 100%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.96) inset,
        0 6px 18px -12px rgba(10, 90, 45, 0.18);
}

:is(.catalog-apply-step--services, .catalog-svc-tiles-form, .catalog-apply-step--insurance) .catalog-svc-tile:has(.catalog-svc-tile__input:checked) {
    border-color: #5cb77d;
    background: linear-gradient(165deg, #eef8f0 0%, #dff0e4 100%);
    box-shadow:
        0 0 0 1px rgba(20, 165, 81, 0.22),
        0 5px 18px -10px rgba(15, 125, 64, 0.22);
}

:is(.catalog-apply-step--services, .catalog-svc-tiles-form, .catalog-apply-step--insurance) .catalog-svc-tile:has(.catalog-svc-tile__input:focus-visible) {
    outline: none;
    box-shadow:
        0 0 0 3px rgba(20, 165, 81, 0.38),
        0 3px 14px -10px rgba(10, 90, 45, 0.15);
}

:is(.catalog-apply-step--services, .catalog-svc-tiles-form, .catalog-apply-step--insurance) .catalog-svc-tile:has(.catalog-svc-tile__input:checked):has(.catalog-svc-tile__input:focus-visible) {
    box-shadow:
        0 0 0 3px rgba(20, 165, 81, 0.45),
        0 0 0 1px rgba(20, 165, 81, 0.25),
        0 5px 18px -10px rgba(15, 125, 64, 0.22);
}

/* Скрытый, но фокусируемый нативный input для доступности */
:is(.catalog-apply-step--services, .catalog-svc-tiles-form, .catalog-apply-step--insurance) .catalog-svc-tile__input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

/* Иконка: пусто / галочка при выборе */
:is(.catalog-apply-step--services, .catalog-svc-tiles-form, .catalog-apply-step--insurance) .catalog-svc-tile__mark {
    position: relative;
    flex: 0 0 1.5rem;
    width: 1.5rem;
    height: 1.5rem;
    margin-top: 0.12rem;
    border-radius: 9px;
    border: 2px solid #b5d0c0;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) inset;
    transition:
        border-color 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

:is(.catalog-apply-step--services, .catalog-svc-tiles-form, .catalog-apply-step--insurance) .catalog-svc-tile:hover .catalog-svc-tile__mark {
    border-color: #7bbf92;
}

:is(.catalog-apply-step--services, .catalog-svc-tiles-form, .catalog-apply-step--insurance) .catalog-svc-tile:has(.catalog-svc-tile__input:checked) .catalog-svc-tile__mark {
    border-color: #0a7a3b;
    background: linear-gradient(145deg, #16b85a, #0d9448);
    box-shadow: 0 2px 8px rgba(15, 125, 64, 0.35);
}

:is(.catalog-apply-step--services, .catalog-svc-tiles-form, .catalog-apply-step--insurance) .catalog-svc-tile__mark::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 47%;
    width: 0.3rem;
    height: 0.52rem;
    box-sizing: border-box;
    border: solid #fff;
    border-width: 0 0.12rem 0.12rem 0;
    border-radius: 0 0 1px 0;
    transform: translate(-50%, -50%) rotate(45deg) scale(0.35);
    opacity: 0;
    transition:
        opacity 0.2s ease,
        transform 0.2s ease;
}

:is(.catalog-apply-step--services, .catalog-svc-tiles-form, .catalog-apply-step--insurance) .catalog-svc-tile:has(.catalog-svc-tile__input:checked) .catalog-svc-tile__mark::after {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(45deg) scale(1);
}

:is(.catalog-apply-step--services, .catalog-svc-tiles-form, .catalog-apply-step--insurance) .catalog-svc-tile__content {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
    flex: 1 1 auto;
}

:is(.catalog-apply-step--services, .catalog-svc-tiles-form, .catalog-apply-step--insurance) .catalog-svc-tile__text {
    font-weight: 600;
    font-size: 0.84rem;
    line-height: 1.3;
    color: #1a2e24;
}

:is(.catalog-apply-step--services, .catalog-svc-tiles-form, .catalog-apply-step--insurance) .catalog-svc-tile__meta {
    font-weight: 800;
    font-size: 0.8rem;
    letter-spacing: 0.02em;
    color: #0a5c2e;
    font-variant-numeric: tabular-nums;
}

:is(.catalog-apply-step--services, .catalog-svc-tiles-form, .catalog-apply-step--insurance) .catalog-svc-tile:has(.catalog-svc-tile__input:checked) .catalog-svc-tile__meta {
    color: #084226;
}

@media (prefers-reduced-motion: reduce) {
    :is(.catalog-apply-step--services, .catalog-svc-tiles-form, .catalog-apply-step--insurance) .catalog-svc-tile,
    :is(.catalog-apply-step--services, .catalog-svc-tiles-form, .catalog-apply-step--insurance) .catalog-svc-tile__mark,
    :is(.catalog-apply-step--services, .catalog-svc-tiles-form, .catalog-apply-step--insurance) .catalog-svc-tile__mark::after {
        transition: none;
    }
}

/* Кабинет: список плиток в колонку */
.catalog-svc-tiles-form {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.catalog-apply-insurance-hint {
    margin: 0 0 0.55rem;
    font-size: 0.82rem;
    line-height: 1.4;
    color: #3d5c4a;
}

/* Страховки: плитки в ряд, на узком экране — колонка */
.catalog-apply-insurance-list {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

@media (min-width: 420px) {
    .catalog-apply-insurance-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.45rem;
    }
}

@media (min-width: 1024px) {
    .catalog-apply-steps-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-rows: auto auto;
        gap: 0.85rem 1rem;
        align-items: stretch;
    }

    .catalog-apply-step--city {
        grid-column: 1;
        grid-row: 1;
    }

    .catalog-apply-step--insurance {
        grid-column: 2;
        grid-row: 1;
    }

    .catalog-apply-step--services {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .catalog-apply-step--services .catalog-apply-svc-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.45rem 0.65rem;
        align-items: start;
    }
}

/* очень широкий экран: до 3 колонок в списке услуг (ещё короче по высоте) */
@media (min-width: 1400px) {
    .catalog-apply-step--services .catalog-apply-svc-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.catalog-apply-bottom {
    min-width: 0;
    padding: 1.05rem 1.1rem 1rem;
    border-radius: 18px;
    border: 1px solid #cfe5d6;
    background: linear-gradient(185deg, #fbfffc 0%, #f0f8f3 100%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.85) inset,
        0 6px 22px -14px rgba(7, 46, 23, 0.14);
}

.catalog-apply-bottom__title {
    margin: 0 0 0.65rem !important;
    padding-bottom: 0.45rem;
    border-bottom: 1px solid rgba(12, 66, 36, 0.1);
    font-size: clamp(1rem, 1.3vw, 1.12rem);
    font-weight: 800;
    color: #0a301a;
}

.catalog-apply-bottom > label:first-of-type {
    font-size: 0.9rem;
    color: #1e3d2a;
}

.catalog-apply-comment {
    margin-top: 1rem !important;
    display: grid;
    gap: 0.45rem;
}

.catalog-apply-comment textarea {
    min-height: 5.5rem;
    resize: vertical;
    border-color: #c5d9ce !important;
    background: #fefffe;
    line-height: 1.45;
}

#apply select,
#apply .catalog-apply-step select {
    border-color: #b8d0c4;
    background-color: #fefffe;
    background-image: linear-gradient(180deg, #ffffff, #f7fbf8);
    box-shadow: 0 1px 2px rgba(7, 46, 23, 0.05) inset;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

#apply select:focus,
#apply textarea:focus,
#apply input:focus {
    outline: none;
    border-color: #0f7d40 !important;
    box-shadow:
        0 0 0 3px rgba(15, 125, 64, 0.16),
        0 1px 2px rgba(7, 46, 23, 0.06) inset;
}

.catalog-credit-panel {
    margin-top: 0.85rem;
    padding: 0.95rem 1rem 1rem;
    border-radius: 16px;
    border: 1px solid #c4e0d0;
    background: linear-gradient(165deg, #f6fcf8 0%, #eef6f0 100%);
    box-shadow: 0 4px 18px -12px rgba(12, 66, 36, 0.2);
}

/* «Прозрачная смета: три транша» — под блоком финансирования, на всю ширину колонки формы */
.catalog-apply-bottom--after-tranches {
    margin-top: 0.5rem;
}

.catalog-apply-bottom--after-tranches .catalog-apply-comment {
    margin-top: 0 !important;
}

.catalog-apply-offer-tranches {
    min-width: 0;
    margin-top: 0.35rem;
}

.catalog-apply-col-aside .catalog-apply-pricing {
    position: sticky;
    /* Ориентир под .topbar (min-height ~74px) + зазор */
    top: 5.25rem;
    z-index: 3;
    margin: 0;
    padding: 1rem 1rem 1.05rem;
    border: 1px solid rgba(12, 66, 36, 0.16);
    border-radius: 16px;
    background: linear-gradient(168deg, #fbfcfb 0%, #f6faf7 50%, #ffffff 100%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 10px 36px -22px rgba(6, 48, 28, 0.22);
}

.catalog-apply-pricing-title {
    margin: 0 0 0.25rem;
    font-size: 1.02rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #0d3d22;
    line-height: 1.2;
}

.catalog-apply-pricing-hint {
    margin: 0 0 0.5rem;
    font-size: 0.86rem;
    line-height: 1.3;
    color: #3a5a48;
}

.catalog-apply-pricing-delivery {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.3rem 0.45rem;
    margin: 0 0 0.5rem;
    font-size: 0.9rem;
    line-height: 1.35;
    color: #2d4a3a;
}

.catalog-apply-pricing-delivery__label {
    font-weight: 700;
    color: #0d3d22;
}

.catalog-apply-pricing-delivery__label::after {
    content: " —";
    font-weight: 600;
    color: #4a6b5a;
}

.catalog-apply-pricing-delivery__value {
    font-weight: 600;
    color: #18653c;
}

.catalog-apply-pricing-foot {
    margin: 0.55rem 0 0;
    font-size: 0.82rem;
    line-height: 1.4;
    color: #3d5c4a;
}

.catalog-apply-col-aside .catalog-price-breakdown {
    font-size: 0.95rem;
    gap: 0.28rem;
    margin-top: 0.45rem;
}

.catalog-apply-col-aside .catalog-price-breakdown li {
    padding: 0.4rem 0;
    gap: 0.65rem;
    border-bottom: 1px dashed rgba(12, 66, 36, 0.18);
    align-items: center;
    min-height: 2.4rem;
}

.catalog-apply-col-aside .catalog-price-breakdown li span {
    font-size: 0.9rem;
    line-height: 1.3;
    color: #1e3d2a;
    min-width: 0;
}

.catalog-apply-col-aside .catalog-price-breakdown li b {
    font-size: 1.05rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
    color: #064018;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Итого в сайдбаре: без «жирной» зелёной плашки — линия-разделитель и нейтральный фон */
.catalog-price-grand--compact {
    margin: 0.85rem 0 0 !important;
    padding: 0.7rem 0 0 !important;
    border-radius: 0;
    background: transparent;
    border: none;
    border-top: 1px solid rgba(12, 66, 36, 0.2);
    box-shadow: none;
}

.catalog-apply-col-aside .catalog-price-grand--compact > span {
    font-size: 0.95rem;
    font-weight: 700;
    color: #2d4a3a;
    letter-spacing: 0.02em;
}

.catalog-price-grand--compact .car-detail-price {
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    margin: 0 !important;
    color: #0a301a !important;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
    line-height: 1.15;
}

/* Сайдбар: ориентир цены аналога в РФ (итог +15% для сравнения) */
.catalog-apply-ru-analog {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.65rem;
    margin: 0.55rem 0 0;
    padding: 0.5rem 0 0;
    border-top: 1px dashed rgba(12, 66, 36, 0.14);
    font-size: 0.88rem;
    line-height: 1.3;
    color: #3d5c4a;
}

.catalog-apply-ru-analog > span {
    font-weight: 600;
    color: #2d4a3a;
    max-width: 12rem;
}

.catalog-apply-ru-analog > b {
    font-weight: 800;
    font-size: 0.95rem;
    text-align: right;
    color: #7a4a1a;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    flex-shrink: 0;
}

@media (max-width: 880px) {
    .catalog-apply-grid {
        display: flex;
        flex-direction: column;
        gap: 0.85rem;
    }

    .catalog-apply-main {
        order: 1;
        width: 100%;
    }

    .catalog-apply-col-aside {
        order: 2;
        width: 100%;
    }

    .catalog-apply-col-aside .catalog-apply-pricing {
        position: static;
    }
}

.catalog-price-breakdown {
    list-style: none;
    margin: 0.35rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    font-size: 0.95rem;
}

.catalog-price-breakdown li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.15rem 0;
    border-bottom: 1px dashed rgba(12, 66, 36, 0.12);
}

.catalog-price-breakdown li:last-of-type {
    border-bottom: none;
}

.catalog-price-breakdown li span {
    color: #2d4a3a;
}

.catalog-price-breakdown li b {
    font-weight: 700;
    text-align: right;
    color: #0a301a;
    white-space: nowrap;
}

.catalog-price-grand {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.catalog-price-grand > span {
    font-weight: 700;
    font-size: 1.05rem;
    color: #0a301a;
}

/* Кредитный калькулятор в заявке каталога: компактные поля, в ряд на широком экране */
.catalog-credit-wrap-intro {
    font-size: 0.85rem;
    line-height: 1.35;
    margin: 0 0 0.15rem;
}

.catalog-credit-amounts {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    margin: 0.35rem 0 0.4rem;
    padding: 0.45rem 0.55rem;
    font-size: 0.86rem;
    line-height: 1.3;
    border-radius: 10px;
    background: #f2f7f3;
    border: 1px solid rgba(12, 66, 36, 0.12);
}

.catalog-credit-amount-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.7rem;
}

.catalog-credit-amount-row b {
    font-weight: 700;
    font-size: 0.92rem;
    white-space: nowrap;
    color: #0a301a;
}

.catalog-credit-amount-hint {
    font-size: 0.78em;
    font-weight: 500;
    color: #4a5e52;
}

.catalog-credit-fields {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.4rem 0.6rem;
    margin: 0.35rem 0 0.2rem;
}

@media (min-width: 500px) and (max-width: 639px) {
    .catalog-credit-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 640px) {
    .catalog-credit-fields {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.catalog-credit-field {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    margin: 0;
}

.catalog-credit-field-label {
    display: block;
    font-size: 0.78rem;
    font-weight: 600;
    color: #1e3d2a;
    line-height: 1.2;
}

.catalog-credit-field input[type="number"],
.catalog-credit-input-money {
    width: 100%;
    min-height: 36px;
    padding: 0.35rem 0.5rem;
    font-size: 0.9rem;
    line-height: 1.2;
    border-radius: 10px;
    box-sizing: border-box;
    border: 1px solid rgba(12, 66, 36, 0.22);
}

#catalog-credit-wrap .catalog-credit-estimate {
    margin: 0.5rem 0 0.15rem;
    font-size: 0.92rem;
    font-weight: 700;
    padding: 0.6rem 0.75rem;
    border-radius: 12px;
    color: #064d26;
    background: linear-gradient(180deg, #d8f0e1, #c8e9d4);
    border: 1px solid #7fc09a;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.65) inset;
}

.catalog-credit-bank-block {
    margin-top: 0.65rem;
    padding-top: 0.6rem;
    border-top: 1px dashed rgba(12, 66, 36, 0.18);
}

#catalog-credit-bank-btn {
    width: 100%;
    max-width: 100%;
    padding: 0.65rem 1rem;
    border-radius: 12px;
    font-weight: 800;
    box-shadow: 0 6px 20px -10px rgba(15, 125, 64, 0.45);
}

/* Демо-ожидание банка: машинка, прогресс, подсказки (10 c) */
.catalog-credit-bank-pending {
    margin-top: 0.65rem;
    padding: 0.6rem 0.65rem 0.5rem;
    border-radius: 12px;
    background: linear-gradient(145deg, #f0faf3 0%, #e4f0ea 100%);
    border: 1px solid rgba(12, 66, 36, 0.2);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
    overflow: hidden;
}

.catalog-credit-bank-pending__scene {
    position: relative;
    height: 3rem;
    margin-bottom: 0.45rem;
    border-radius: 10px;
    overflow: hidden;
    background: radial-gradient(120% 80% at 50% 120%, #1a3d2e 0%, #0d1f18 55%, #07120e 100%);
    box-shadow: inset 0 0 24px rgba(0, 0, 0, 0.35);
}

.catalog-credit-bank-pending__sky {
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(1px 1px at 10% 20%, rgba(255, 255, 255, 0.65) 50%, transparent 51%),
        radial-gradient(1px 1px at 22% 55%, rgba(255, 255, 255, 0.5) 50%, transparent 51%),
        radial-gradient(1.2px 1.2px at 40% 30%, rgba(255, 255, 255, 0.55) 50%, transparent 51%),
        radial-gradient(1px 1px at 58% 65%, rgba(255, 255, 255, 0.45) 50%, transparent 51%),
        radial-gradient(1px 1px at 72% 22%, rgba(255, 255, 255, 0.6) 50%, transparent 51%),
        radial-gradient(1px 1px at 88% 48%, rgba(255, 255, 255, 0.5) 50%, transparent 51%);
    opacity: 0.9;
    pointer-events: none;
}

.catalog-credit-bank-pending__sweep {
    position: absolute;
    left: -30%;
    top: 0;
    bottom: 0;
    width: 45%;
    background: linear-gradient(
        105deg,
        transparent 0%,
        rgba(46, 213, 115, 0.12) 40%,
        rgba(255, 255, 255, 0.18) 50%,
        rgba(46, 213, 115, 0.1) 60%,
        transparent 100%
    );
    animation: catalogCreditSweep 2.4s ease-in-out infinite;
    filter: blur(0.5px);
    pointer-events: none;
}

.catalog-credit-bank-pending__messenger {
    position: absolute;
    left: 8%;
    top: 50%;
    font-size: 1.45rem;
    line-height: 1;
    transform: translate(-50%, -50%) rotate(-12deg);
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.45));
    animation: catalogCreditMessenger 1.9s ease-in-out infinite;
    z-index: 2;
}

.catalog-credit-bank-pending__beacon {
    position: absolute;
    right: 10%;
    top: 50%;
    font-size: 1.5rem;
    line-height: 1;
    transform: translate(0, -50%);
    filter: drop-shadow(0 0 12px rgba(255, 220, 120, 0.9));
    animation: catalogCreditBeacon 1.15s ease-in-out infinite;
    z-index: 2;
}

@keyframes catalogCreditSweep {
    0% {
        transform: translateX(0);
        opacity: 0.35;
    }
    50% {
        transform: translateX(120%);
        opacity: 0.85;
    }
    100% {
        transform: translateX(240%);
        opacity: 0.35;
    }
}

@keyframes catalogCreditMessenger {
    0%,
    100% {
        left: 8%;
        transform: translate(-50%, -50%) rotate(-12deg) scale(1);
    }
    50% {
        left: 56%;
        transform: translate(-50%, -58%) rotate(8deg) scale(1.08);
    }
}

@keyframes catalogCreditBeacon {
    0%,
    100% {
        transform: translate(0, -50%) scale(1);
        filter: drop-shadow(0 0 10px rgba(255, 220, 120, 0.75));
    }
    50% {
        transform: translate(0, -50%) scale(1.18);
        filter: drop-shadow(0 0 18px rgba(120, 255, 200, 0.95));
    }
}

.catalog-credit-bank-pending__bar {
    height: 8px;
    border-radius: 999px;
    background: #d0ddd4;
    overflow: hidden;
    margin: 0.15rem 0 0.45rem;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.08);
}

.catalog-credit-bank-pending__fill {
    display: block;
    height: 100%;
    width: 0%;
    border-radius: 999px;
    background: linear-gradient(
        90deg,
        #1a5c32 0%,
        #2a9d4f 50%,
        #1a5c32 100%
    );
    background-size: 200% 100%;
    box-shadow: 0 0 10px rgba(32, 130, 70, 0.45);
}

/* Длительность 10s — должна совпадать с BANK_REVIEW_MS в catalog/car.blade.php */
.catalog-credit-bank-pending__fill--run {
    animation:
        catalogCreditBarFill 10s linear forwards,
        catalogCreditBarShine 1.1s ease-in-out infinite;
}

@keyframes catalogCreditBarFill {
    from {
        width: 0%;
    }
    to {
        width: 100%;
    }
}

@keyframes catalogCreditBarShine {
    0%,
    100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

.catalog-credit-bank-pending__title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: #0a301a;
    letter-spacing: 0.01em;
}

.catalog-credit-bank-pending__dots {
    display: inline-flex;
    gap: 0.1rem;
    margin-left: 0.1rem;
    vertical-align: -1px;
}

.catalog-credit-bank-pending__dots i {
    display: inline-block;
    width: 0.22rem;
    height: 0.22rem;
    border-radius: 50%;
    background: #1a5c32;
    animation: catalogCreditDotPulse 0.9s ease-in-out infinite;
}

.catalog-credit-bank-pending__dots i:nth-child(2) {
    animation-delay: 0.15s;
}

.catalog-credit-bank-pending__dots i:nth-child(3) {
    animation-delay: 0.3s;
}

@keyframes catalogCreditDotPulse {
    0%,
    100% {
        transform: scale(0.45);
        opacity: 0.4;
    }
    50% {
        transform: scale(1);
        opacity: 1;
    }
}

.catalog-credit-bank-pending__sub {
    margin: 0.2rem 0 0;
    font-size: 0.82rem;
    line-height: 1.35;
    min-height: 2.1em;
    transition: opacity 0.25s ease;
}

.catalog-credit-bank-message--ok {
    color: #0d4d26;
    font-weight: 600;
    padding: 0;
    border-radius: 12px;
    background: transparent;
    border: none;
}

.catalog-credit-bank-wow {
    padding: 0.65rem 0.75rem 0.55rem;
    border-radius: 12px;
    background: linear-gradient(145deg, #e8f8ee 0%, #dff0e6 45%, #d4ecdf 100%);
    border: 1px solid #8ec9a4;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.85) inset,
        0 8px 22px -14px rgba(12, 90, 45, 0.35);
}

.catalog-credit-bank-wow__title {
    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    background: linear-gradient(90deg, #0a5c2e, #1fa55a, #0a5c2e);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    line-height: 1.2;
    margin: 0 0 0.35rem;
}

.catalog-credit-bank-wow__line {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.45;
    color: #123d24;
}

#apply h2.catalog-apply-heading {
    font-size: clamp(1.12rem, 2.1vw, 1.42rem);
    line-height: 1.15;
    margin-bottom: 0.7rem;
}

#credit-buy h2 {
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.1;
}

#credit-buy {
    border-radius: 24px !important;
    background: linear-gradient(180deg, #fbfffc, #f3fbf6);
}

#credit-buy-panel .btn.secondary {
    margin-top: 8px;
}

.credit-result {
    border-radius: 14px !important;
    border: 1px solid #cfe6d8 !important;
    background: #f4fbf7 !important;
    color: #114f31 !important;
    font-weight: 700;
}

@media (max-width: 920px) {
    .home-promo-main h1 {
        font-size: clamp(32px, 10vw, 46px) !important;
    }

    .car-detail-header h1 {
        font-size: clamp(1.05rem, 2.2vw + 0.35rem, 1.55rem) !important;
    }

    .mvp-auth-links .btn {
        width: 100%;
    }
}

@media (max-width: 640px) {
    .car-detail-price-cta {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        padding: 8px 10px;
    }

    .car-detail-card .car-actions--detail {
        justify-content: stretch;
    }

    .car-detail-card .car-actions--detail .btn {
        flex: 1 1 calc(50% - 4px);
        min-width: 0;
        justify-content: center;
    }

    .car-detail-price-amount {
        font-size: clamp(1.1rem, 4.2vw, 1.4rem);
        white-space: normal;
    }
}

/* Final spacing + grid pass */
.container {
    width: min(1240px, 94%) !important;
}

.page {
    padding-top: 22px !important;
}

.section-head {
    margin: 24px 0 10px !important;
}

.section-head h2 {
    font-size: clamp(30px, 4vw, 46px) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.02em;
}

.catalog-hero {
    padding: 34px !important;
    margin-bottom: 14px !important;
}

.catalog-hero-content p {
    font-size: 17px;
    max-width: 760px;
}

.filter-card {
    margin-bottom: 14px !important;
}

.catalog-cars-list {
    gap: 14px !important;
}

.catalog-list-card {
    min-height: 228px;
}

.catalog-list-main .car-title {
    max-width: 620px;
}

.catalog-list-dealer {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    max-width: 100%;
}

.catalog-list-actions {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
}

.catalog-list-actions::-webkit-scrollbar {
    height: 5px;
}

.catalog-list-actions::-webkit-scrollbar-thumb {
    background: #d4e8da;
    border-radius: 999px;
}

.catalog-list-actions .btn {
    white-space: nowrap;
}

.catalog-pagination {
    margin: 8px 0 18px !important;
}

.catalog-pagination nav[role="navigation"] {
    border-radius: 18px;
    background: #f8fcf9;
    border: 1px solid #d8e9de;
    padding: 8px 10px;
}

.catalog-pagination .sm\:flex-1 {
    gap: 8px !important;
}

.catalog-pagination a,
.catalog-pagination span[aria-current="page"] > span,
.catalog-pagination span[aria-disabled="true"] > span {
    min-width: 38px !important;
    height: 38px !important;
    font-weight: 700;
}

.dealer-catalog {
    gap: 12px !important;
}

.dealer-catalog .dealer-card {
    min-height: 224px;
}

.car-detail-card .car-actions--detail {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px 8px;
    flex: 0 1 auto;
}

.car-detail-card .car-actions--detail .btn {
    min-height: 36px;
    padding: 7px 12px !important;
    font-size: 0.8rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em;
    border-radius: 10px !important;
    white-space: nowrap;
}

.car-detail-card .car-actions--detail .btn.secondary {
    border: 1px solid #7bbf92 !important;
    color: #0a3d1c !important;
    background: linear-gradient(180deg, #f7fdf9 0%, #e8f5ed 100%) !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.95) inset !important;
}

.car-detail-card .car-actions--detail .btn.secondary:hover {
    background: linear-gradient(180deg, #eefaf1 0%, #ddefe4 100%) !important;
    border-color: #4a9a62 !important;
    animation: none;
}

@keyframes carDetailCtaPulse {
    0%,
    100% {
        transform: scale(1);
        box-shadow:
            0 21px 36px -14px rgba(10, 110, 52, 0.58),
            0 0 0 0 rgba(20, 165, 81, 0.35);
    }
    50% {
        transform: scale(1.04);
        box-shadow:
            0 24px 41px -11px rgba(8, 95, 46, 0.65),
            0 0 0 13px rgba(20, 165, 81, 0.15);
    }
}

.car-detail-card .car-actions--detail .car-detail-cta {
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    box-shadow:
        0 10px 20px -10px rgba(8, 95, 46, 0.55),
        0 1px 0 rgba(255, 255, 255, 0.25) inset !important;
}

.car-detail-card .car-actions--detail .car-detail-cta:hover {
    background: linear-gradient(120deg, #12b85a, #0d9448) !important;
    animation: carDetailCtaPulse 1.15s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .car-detail-card .car-actions--detail .car-detail-cta:hover {
        animation: none;
    }
}

#credit-buy {
    padding: 20px !important;
}

#apply .form,
#credit-buy .credit-form {
    gap: 10px !important;
}

#credit-buy-panel {
    margin-top: 6px;
}

@media (max-width: 1024px) {
    .container {
        width: min(1240px, 96%) !important;
    }

    .catalog-list-card {
        grid-template-columns: 250px minmax(0, 1fr) !important;
    }
}

@media (max-width: 920px) {
    .page {
        padding-top: 16px !important;
    }

    .section-head h2 {
        font-size: clamp(26px, 9vw, 36px) !important;
    }

    .catalog-hero {
        padding: 22px !important;
    }

    .catalog-hero-content p {
        font-size: 15px;
    }

    .filter-card {
        padding: 14px !important;
    }

    .filter-card .filters {
        grid-template-columns: 1fr !important;
    }

    .catalog-list-card {
        min-height: 0;
        padding: 12px !important;
        gap: 10px !important;
    }

    .catalog-list-media {
        min-height: 208px !important;
    }

    .catalog-list-main .car-title {
        font-size: 22px !important;
    }

    .catalog-order-price {
        font-size: 28px !important;
    }

    .catalog-list-actions {
        flex-wrap: wrap;
        overflow: visible;
    }

    .catalog-list-actions .btn {
        flex: 1 1 calc(50% - 6px);
        min-width: 0;
    }

    .car-detail-card {
        padding: 8px !important;
    }
}

@media (max-width: 760px) {
    .catalog-cars,
    .dealer-catalog {
        grid-template-columns: 1fr !important;
    }

    .brand-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .credit-form {
        grid-template-columns: 1fr !important;
    }

    .credit-form .btn {
        width: 100%;
    }

    .admin-table {
        min-width: 640px;
    }

    .admin-inline-stack {
        min-width: 180px;
    }

    .footer-legal-links {
        display: grid;
        gap: 8px;
    }

    #apply .btn,
    #credit-buy .btn {
        width: 100%;
    }
}

/* Mobile topbar compact fix */
@media (max-width: 760px) {
    .topbar-inner {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center !important;
        justify-content: normal !important;
        min-height: 60px !important;
        padding: 8px 0 !important;
    }

    .topbar-mobile-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 38px;
        padding: 8px 14px;
        border-radius: 12px;
        border: 1px solid #cfe3d7;
        background: #f4fbf7;
        color: #155c37;
        font-size: 14px;
        font-weight: 700;
        cursor: pointer;
    }

    .topbar-links {
        display: none !important;
        width: 100%;
        grid-column: 1 / -1;
    }

    .topbar.mobile-open .topbar-links {
        display: flex !important;
        margin-top: 6px;
    }

    .topbar.mobile-open .topbar-links.is-auth {
        display: grid !important;
    }

    .topbar {
        position: sticky;
    }

    .topbar.mobile-open {
        position: relative !important;
    }

    .topbar-inner {
        gap: 8px !important;
        padding: 8px 0 !important;
    }

    .topbar-links,
    .topbar-auth-stack,
    .topbar-admin-layout,
    .topbar-admin-mainline,
    .topbar-admin-subline {
        gap: 6px !important;
    }

    .topbar-nav-main,
    .topbar-nav-user,
    .topbar-nav-auth,
    .topbar-nav-admin {
        border-radius: 16px !important;
        padding: 4px !important;
        border: 1px solid #d8e7dd !important;
        box-shadow: none !important;
        background: #f8fcf9 !important;
    }

    .topbar-nav-main,
    .topbar-nav-user,
    .topbar-nav-auth {
        display: grid !important;
        gap: 4px !important;
    }

    .topbar-link {
        width: auto !important;
        min-height: 38px !important;
        justify-content: flex-start !important;
        padding: 8px 12px !important;
        border-radius: 12px !important;
        font-size: 15px !important;
    }

    .topbar-nav-auth .topbar-link,
    .topbar-nav-auth .auth-cta {
        width: 100% !important;
    }

    .auth-cta {
        min-height: 40px !important;
        border-radius: 12px !important;
        font-size: 15px !important;
    }

    .topbar-user-name {
        width: 100% !important;
        min-height: 34px !important;
        padding: 6px 10px !important;
        font-size: 12px !important;
    }
}

@media (min-width: 761px) {
    .topbar-mobile-toggle {
        display: none !important;
    }
}

/* Marketplace-like catalog composition */
.catalog-hero {
    padding: 30px !important;
}

.catalog-hero-content h1 {
    font-size: clamp(32px, 5vw, 52px) !important;
    line-height: 1.05 !important;
    margin: 0 0 12px !important;
    max-width: 780px;
}

.catalog-hero-stats {
    gap: 12px !important;
}

.catalog-hero-stats div {
    border-radius: 18px !important;
    padding: 14px !important;
}

.catalog-hero-stats strong {
    font-size: 28px !important;
}

.filter-card {
    border-radius: 24px !important;
    padding: 20px !important;
}

.filter-card .filters {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
    gap: 10px !important;
}

.filter-card .filters > .btn,
.filter-card .filters > a.btn {
    min-height: 44px;
}

.catalog-cars-list {
    gap: 12px !important;
}

.catalog-list-card {
    grid-template-columns: 280px minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 16px !important;
    padding: 16px !important;
    border-radius: 24px !important;
    transition: transform 0.18s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.catalog-list-card:hover {
    transform: translateY(-2px);
    border-color: #bfdcc8 !important;
    box-shadow: 0 22px 34px -28px rgba(15, 90, 42, 0.5) !important;
}

.catalog-list-media {
    min-height: 196px !important;
    border-radius: 18px !important;
}

.catalog-list-body {
    gap: 10px !important;
}

.catalog-list-top {
    gap: 16px !important;
}

.catalog-list-main .car-title {
    font-size: 28px !important;
    line-height: 1.05;
    letter-spacing: -0.01em;
    margin: 0 !important;
}

.catalog-list-main .catalog-order-desc {
    font-size: 15px !important;
    color: #546c5d !important;
}

.catalog-specs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px 12px;
    padding: 10px 12px;
    border: 1px solid #d8e9de;
    border-radius: 14px;
    background: #f8fcfa;
    font-size: 13px;
    color: #2f5140;
}

.catalog-specs span b {
    color: #163e2a;
}

.catalog-list-status-row {
    display: flex;
    align-items: center;
    min-height: 30px !important;
}

.catalog-list-status-row .chip {
    font-size: 12px;
    padding: 6px 12px;
}

.catalog-order-price {
    font-size: 34px !important;
    font-weight: 900 !important;
    color: #0f7d40 !important;
    letter-spacing: -0.02em;
}

.catalog-list-dealer {
    border-radius: 14px !important;
    border-color: #d6e8dd !important;
    background: #f7fcf9 !important;
    padding: 10px 12px !important;
}

.catalog-list-actions {
    margin-top: 2px !important;
    gap: 8px !important;
}

.catalog-list-actions .btn {
    min-height: 40px;
    padding: 9px 14px !important;
    font-size: 14px;
}

.catalog-list-actions .btn:first-child {
    min-width: 120px;
}

.catalog-list-actions .favorite-toggle-btn,
.catalog-list-actions a[href*="login"] {
    background: #f3faf6 !important;
    color: #155f37 !important;
    border: 1px solid #cee4d6 !important;
}

.catalog-pagination {
    margin: 10px 0 16px !important;
}

.dealer-catalog .dealer-card {
    border-radius: 22px !important;
    padding: 16px !important;
}

.dealer-card .btn {
    width: 100%;
}

.car-mini-specs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    margin-top: 2px;
}

.car-mini-specs span {
    padding: 2px 8px;
    border: 1px solid #d8e9de;
    border-radius: 999px;
    background: #f8fcfa;
}

.car-spec-grid {
    margin: 6px 0 2px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.car-spec-grid > div {
    border: 1px solid #d8e9de;
    border-radius: 14px;
    padding: 10px 12px;
    background: #f8fcfa;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.car-spec-grid span {
    font-size: 12px;
    color: #5f7a69;
}

.car-spec-grid b {
    color: #173f2b;
    font-size: 14px;
}

@media (max-width: 920px) {
    .catalog-list-card {
        grid-template-columns: 1fr !important;
    }

    .catalog-list-media {
        min-height: 220px !important;
    }

    .catalog-list-main .car-title {
        font-size: 24px !important;
    }

    .catalog-order-price {
        font-size: 30px !important;
    }

    .catalog-specs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .car-spec-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .home-promo {
        max-height: none;
    }

    .catalog-specs {
        grid-template-columns: 1fr;
        font-size: 12px;
    }
}

/* Auth role switch */
.role-switch {
    display: grid;
    gap: 8px;
}

.role-switch-label {
    font-weight: 600;
    color: var(--text);
}

.role-switch-control {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 6px;
    border: 1px solid #cfe2d4;
    border-radius: 14px;
    background: #f7fcf9;
}

.role-switch-option {
    position: relative;
    margin: 0;
    cursor: pointer;
}

.role-switch-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.role-switch-pill {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 40px;
    padding: 8px 12px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-weight: 700;
    color: #4e6658;
    background: transparent;
    transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.role-switch-option:hover .role-switch-pill {
    background: #edf7f1;
    color: #245438;
}

.role-switch-input:focus-visible + .role-switch-pill {
    outline: 2px solid #7bc897;
    outline-offset: 2px;
}

.role-switch-input:checked + .role-switch-pill {
    background: linear-gradient(120deg, #14a551, #0f8b45);
    color: #fff;
    border-color: #0f8b45;
    box-shadow: 0 10px 18px -14px rgba(17, 102, 52, 0.7);
}

/* Backlog (team task board) */
.backlog-page h1,
.backlog-page h2 {
    margin-top: 0;
}

.backlog-header-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.backlog-logout-form {
    margin: 0;
}

.backlog-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.backlog-nav-link {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    border-radius: 999px;
    border: 1px solid #cde8d6;
    background: #fcfefd;
    color: #116a37;
    font-weight: 600;
    text-decoration: none;
    font-size: 0.95rem;
}

.backlog-nav-link:hover {
    background: #e9f7ee;
}

.backlog-nav-link.is-active {
    background: #ddf2e5;
    border-color: #bfe1cc;
}

.backlog-form label {
    display: block;
    margin-bottom: 12px;
}

.backlog-form input,
.backlog-form textarea,
.backlog-form select {
    width: 100%;
    max-width: 520px;
}

/* Create task: grid, labels on top, unified controls */
.backlog-create-card {
    padding: 1.5rem 1.5rem 1.4rem;
}

.backlog-page__title {
    margin: 0 0 0.4rem;
    font-size: 1.35rem;
    font-weight: 800;
    color: #13221a;
    letter-spacing: -0.02em;
}

.backlog-create-head {
    margin-bottom: 1.2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e0efe4;
}

.backlog-create-lede {
    margin: 0;
    max-width: 46rem;
    font-size: 0.95rem;
    line-height: 1.45;
}

.backlog-form--create .backlog-create-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem 1.25rem;
    margin: 0;
    padding: 0;
}

@media (min-width: 720px) {
    .backlog-form--create .backlog-create-grid {
        grid-template-columns: 1fr 1fr;
    }

    .backlog-form--create .backlog-field--full {
        grid-column: 1 / -1;
    }
}

.backlog-form--create .backlog-field {
    margin: 0;
    min-width: 0;
}

.backlog-form--create label.backlog-field__label {
    display: block;
    margin-bottom: 0.4rem;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #3d5a48;
    line-height: 1.3;
}

.backlog-req {
    text-decoration: none;
    color: #c0392b;
    font-weight: 800;
    font-size: 0.85em;
    margin-left: 0.1em;
}

.backlog-form--create .backlog-field__input {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    min-height: 2.75rem;
    padding: 0.55rem 0.9rem;
    font-size: 0.98rem;
    line-height: 1.4;
    color: #13221a;
    background: #fbfffc;
    border: 1px solid #bfe3cd;
    border-radius: 14px;
    box-shadow: inset 0 1px 2px rgba(19, 66, 40, 0.04);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.backlog-form--create .backlog-field__input:hover {
    border-color: #9dd4af;
    background: #fff;
}

.backlog-form--create .backlog-field__input:focus {
    outline: none;
    border-color: #14a551;
    box-shadow: inset 0 1px 2px rgba(19, 66, 40, 0.04), 0 0 0 4px rgba(20, 165, 81, 0.15);
    background: #fff;
}

.backlog-form--create .backlog-field__input::placeholder {
    color: #7a9485;
    opacity: 1;
}

.backlog-form--create .backlog-field__textarea {
    min-height: 6.5rem;
    max-width: none;
    resize: vertical;
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
    line-height: 1.5;
}

.backlog-form--create .backlog-field__select {
    cursor: pointer;
    appearance: auto;
    background-image: none;
    padding-right: 0.9rem;
}

.backlog-form--create .backlog-field__input[type="date"] {
    min-height: 2.75rem;
    color-scheme: light;
}

.backlog-create-actions {
    margin-top: 1.25rem;
    padding-top: 1.15rem;
    border-top: 1px solid #e8f3ed;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.btn.btn-backlog-create {
    min-height: 2.9rem;
    padding-left: 1.35rem;
    padding-right: 1.5rem;
    font-size: 0.98rem;
    font-weight: 700;
    border-radius: 14px;
    box-shadow: 0 8px 22px -10px rgba(20, 120, 60, 0.55);
}

.backlog-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-top: 8px;
}

.backlog-form-delete {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
}

.backlog-login-card {
    max-width: 480px;
}

.backlog-table-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.backlog-table-actions form {
    margin: 0;
    display: inline;
}

.backlog-task-snippet {
    margin: 0.25rem 0 0;
    font-size: 0.9rem;
}

.btn-sm {
    padding: 6px 14px;
    font-size: 0.88rem;
}

.backlog-kanban-root {
    margin-top: 8px;
}

.backlog-kanban-board {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.backlog-kanban-completed {
    margin-top: 20px;
}

.backlog-kanban-completed-title {
    margin-top: 0;
}

.backlog-kanban-completed-hint {
    margin: 0.5rem 0 1rem;
    font-size: 0.92rem;
}

/* Скрыто везде, кроме колонки «Проверка» — тогда DnD показывает кнопку без перезагрузки */
.backlog-kanban-card-actions--review-only {
    display: none;
    margin-top: 10px;
}

.backlog-kanban-drop[data-drop="review"] .backlog-kanban-card-actions--review-only {
    display: block;
}

.backlog-kanban-complete-btn {
    width: 100%;
}

.backlog-kanban-done-table {
    margin-top: 0;
}

.backlog-mono {
    font-family: ui-monospace, monospace, sans-serif;
    font-size: 0.9em;
}

.backlog-due {
    font-size: 0.92rem;
    white-space: nowrap;
}

.backlog-due--overdue {
    color: #b00020;
    font-weight: 600;
}

.backlog-icon-svg {
    width: 1.1rem;
    height: 1.1rem;
    display: block;
}

.backlog-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border-radius: 12px;
    border: 1px solid;
    line-height: 0;
    cursor: pointer;
    text-decoration: none;
    box-sizing: border-box;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.08s ease;
}

.backlog-icon-btn:hover {
    transform: translateY(-1px);
}

.backlog-icon-btn:active {
    transform: translateY(0);
}

.backlog-icon-btn--edit {
    color: #0d47a1;
    border-color: #90caf9;
    background: #e3f2fd;
}

.backlog-icon-btn--edit:hover {
    background: #bbdefb;
    border-color: #64b5f6;
}

.backlog-icon-btn--delete {
    color: #b71c1c;
    border-color: #ef9a9a;
    background: #ffebee;
}

.backlog-icon-btn--delete:hover {
    background: #ffcdd2;
    border-color: #e57373;
}

.backlog-icon-btn--save {
    color: #1b5e20;
    border-color: #a5d6a7;
    background: #e8f5e9;
}

.backlog-icon-btn--save:hover {
    background: #c8e6c9;
    border-color: #81c784;
}

.backlog-icon-btn--back {
    color: #37474f;
    border-color: #b0bec5;
    background: #eceff1;
}

.backlog-icon-btn--back:hover {
    background: #cfd8dc;
    border-color: #90a4ae;
}

.backlog-icon-form {
    display: inline;
    margin: 0;
    padding: 0;
    vertical-align: top;
}

.backlog-table-icon-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.backlog-form-actions--icons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.backlog-kanban-due {
    display: block;
    margin-top: 6px;
    font-size: 0.8rem;
    color: #1565c0;
    font-weight: 600;
}

.backlog-kanban-card--overdue {
    border-color: #e07a3d;
    box-shadow: 0 0 0 1px rgba(224, 122, 61, 0.35);
}

.backlog-kanban-card--overdue .backlog-kanban-due {
    color: #c62828;
}

.backlog-kanban-due-tiny {
    font-size: 0.82rem;
}

.backlog-kanban-due-input {
    min-width: 8.5rem;
    max-width: 11rem;
}

@media (max-width: 1024px) {
    .backlog-kanban-board {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .backlog-kanban-board {
        grid-template-columns: 1fr;
    }
}

.backlog-kanban-col {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 12px 12px 14px;
    min-height: 200px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 16px 36px -32px rgba(15, 67, 37, 0.4);
}

.backlog-kanban-col-title {
    margin: 0 0 10px;
    font-size: 0.95rem;
    color: #245438;
    font-weight: 700;
}

.backlog-kanban-drop {
    flex: 1 1 auto;
    min-height: 120px;
    border-radius: 12px;
    background: #f2faf5;
    border: 1px dashed #bfe1cc;
    padding: 8px;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.backlog-kanban-col:hover .backlog-kanban-drop,
.backlog-kanban-drop:has(.is-dragging) {
    background: #e7f4ec;
    border-color: #8dc9a0;
}

.backlog-kanban-card {
    background: #fff;
    border: 1px solid #cde8d6;
    border-radius: 12px;
    padding: 10px 10px 8px;
    margin-bottom: 8px;
    cursor: grab;
    box-shadow: 0 6px 16px -12px rgba(20, 80, 45, 0.35);
}

.backlog-kanban-card.is-dragging {
    opacity: 0.6;
    cursor: grabbing;
}

.backlog-kanban-card-link {
    display: block;
    font-weight: 700;
    color: #0e592f;
    text-decoration: none;
    line-height: 1.3;
    margin-bottom: 6px;
}

.backlog-kanban-card-link:hover {
    text-decoration: underline;
}

.backlog-kanban-card-meta {
    display: block;
    font-size: 0.85rem;
    color: var(--muted);
}

.backlog-kanban-quick-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.backlog-kanban-title-input {
    flex: 1 1 220px;
    min-width: 160px;
}

.backlog-kanban-author-input {
    flex: 0 1 180px;
    min-width: 120px;
}

@media (max-width: 600px) {
    .backlog-kanban-quick-row .btn {
        width: 100%;
    }
}

/* --------------------------------------------------------------------------
   Сайт: мобильная вёрстка (финальные правила — после блоков с !important)
   -------------------------------------------------------------------------- */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    min-width: 0;
    overflow-x: hidden;
}

/* Медиа и декор не вылезают за край */
main img,
main video,
main svg,
main picture,
.card img,
.catalog-list-media,
.car-photo,
.car-photo-side {
    max-width: 100%;
    height: auto;
}

/* Контейнер: чуть меньше 100% по ширине + safe area (iPhone и т.п.) */
.container {
    width: min(1120px, calc(100% - 24px));
    padding-left: env(safe-area-inset-left, 0px);
    padding-right: env(safe-area-inset-right, 0px);
    box-sizing: border-box;
    min-width: 0;
}

main.container.page {
    min-width: 0;
    max-width: 100%;
}

.page {
    padding-top: max(1rem, env(safe-area-inset-top, 0px) + 0.5rem);
    padding-bottom: 2.5rem;
}

@media (max-width: 760px) {
    .page {
        padding: 1rem 0 2rem;
    }

    .footer {
        padding-bottom: max(1.5rem, env(safe-area-inset-bottom, 0px));
    }
}

/* iOS: не увеличивать шрифт в полях (меньше случайного zoom при фокусе) */
@media (max-width: 480px) {
    input,
    select,
    textarea,
    .form input,
    .form select,
    .form textarea {
        font-size: 16px;
    }
}

/* Таблицы админки: удобный горизонтальный скролл */
.admin-table-wrap {
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
}

/* Фильтры каталога — одна колонка на узком экране */
@media (max-width: 640px) {
    .filter-card .filters {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* Карточки списка каталога: сброс жёсткой двухколонки из marketplace-блока */
@media (max-width: 900px) {
    .catalog-list-card {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .catalog-list-main .car-title {
        font-size: clamp(1.2rem, 4.5vw, 1.6rem) !important;
    }

    .catalog-order-price {
        font-size: clamp(1.4rem, 5vw, 1.8rem) !important;
    }

    .catalog-specs {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 520px) {
    .catalog-specs {
        grid-template-columns: 1fr !important;
    }
}

/* Кнопка ассистента — не наезжать на home indicator */
@media (max-width: 760px) {
    .home-assistant-toggle {
        bottom: max(14px, env(safe-area-inset-bottom, 0px) + 8px) !important;
    }

    .home-assistant-panel {
        bottom: max(80px, env(safe-area-inset-bottom, 0px) + 64px) !important;
    }
}

/* Слайды промо — запас по высоте */
@media (max-width: 600px) {
    .home-promo {
        min-height: 0;
    }

    .promo-slide h3 {
        line-height: 1.2;
    }
}

/* Главная: аккуратный hero и сетка брендов на телефонах */
@media (max-width: 768px) {
    .home-promo {
        grid-template-columns: minmax(0, 1fr);
        max-height: none !important;
        overflow: visible !important;
        padding: 1rem 0.9rem 1.1rem;
        gap: 1rem;
    }

    .home-promo-main {
        text-align: left;
        min-width: 0;
    }

    .home-promo-main h1 {
        font-size: clamp(1.5rem, 5.4vw, 1.85rem) !important;
        line-height: 1.2 !important;
        letter-spacing: -0.02em;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
    }

    .home-promo-main p {
        font-size: 0.95rem;
        line-height: 1.45;
        max-width: 100% !important;
        overflow-wrap: anywhere;
    }

    .home-promo .hero-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 0.6rem;
        margin-top: 0.75rem;
    }

    .home-promo .hero-actions .btn,
    .home-promo .hero-actions .btn.btn-xl {
        width: 100%;
        justify-content: center;
    }

    .home-promo .promo-slider {
        min-height: 200px;
        order: 2;
    }

    .home-promo .home-promo-main {
        order: 1;
    }

    .promo-slide {
        min-height: 180px;
    }

    .promo-slide h3 {
        font-size: clamp(1.05rem, 4vw, 1.25rem) !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
    }

    .promo-slide p {
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
    }

    /* Бренды: стабильно 2 колонки на малых экранах (читаемо и плотно) */
    .brand-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px;
    }

    .brand-pill {
        padding: 8px 10px;
        min-height: 48px;
    }

    .brand-name {
        font-size: 12px;
    }

    .brand-count {
        font-size: 10px;
    }

    .section-head h2 {
        font-size: clamp(1.15rem, 4vw, 1.4rem);
    }

    .catalog-cars .car-card-premium .car-title {
        font-size: 1.15rem !important;
    }

    .catalog-cars .car-card-premium .price {
        font-size: 1.35rem !important;
    }
}

@media (min-width: 480px) and (max-width: 768px) {
    .brand-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

