/* =============================================
       CALC v2 — светлая тема, совместима с сайтом
       Переопределяем только внутренние стили
    ============================================= */
    :root {
        --c-bg:        #f4f6fa;
        --c-surface:   #ffffff;
        --c-surface2:  #f8fafc;
        --c-border:    #e2e8f0;
        --c-border2:   #cbd5e1;
        --c-accent:    #2563eb;
        --c-accent-lt: #eff6ff;
        --c-accent-glow: rgba(37,99,235,0.12);
        --c-green:     #059669;
        --c-green-lt:  #ecfdf5;
        --c-warn:      #d97706;
        --c-warn-lt:   #fffbeb;
        --c-warn-bd:   #fcd34d;
        --c-text:      #0f172a;
        --c-muted:     #64748b;
        --c-faint:     #94a3b8;
        --c-red:       #dc2626;

        --radius-sm: 8px;
        --radius:    12px;
        --radius-lg: 16px;
        --shadow-sm: 0 1px 3px rgba(15,23,42,0.08), 0 1px 2px rgba(15,23,42,0.05);
        --shadow:    0 4px 12px rgba(15,23,42,0.10), 0 2px 4px rgba(15,23,42,0.06);
        --shadow-lg: 0 12px 32px rgba(15,23,42,0.14);
        --tr: 0.17s cubic-bezier(.4,0,.2,1);
    }

    /* PAGE WRAPPER */
    .calc-page { font-family: 'Inter', system-ui, -apple-system, sans-serif; color: var(--c-text); }

    /* PAGE TITLE */
    .calc-hero {
        padding: 28px 0 20px;
    }
    .calc-hero h1 {
        font-size: clamp(20px,3.5vw,28px);
        font-weight: 700;
        letter-spacing: -0.025em;
        color: var(--c-text);
        line-height: 1.2;
        margin: 0 0 6px;
    }
    .calc-hero h1 em { font-style: normal; color: var(--c-accent); }
    .calc-hero-sub { font-size: 14px; color: var(--c-muted); }

    /* NAV TABS */
    .calc-tabs {
        display: flex;
        gap: 6px;
        margin-bottom: 16px;
        flex-wrap: wrap;
    }
    .calc-tab {
        padding: 8px 20px;
        border-radius: 50px;
        font-size: 13px;
        font-weight: 600;
        text-decoration: none;
        color: var(--c-muted);
        background: var(--c-surface);
        border: 1.5px solid var(--c-border);
        transition: var(--tr);
        white-space: nowrap;
    }
    .calc-tab:hover { color: var(--c-accent); border-color: var(--c-accent); }
    .calc-tab.active {
        background: var(--c-accent);
        color: #fff;
        border-color: var(--c-accent);
        box-shadow: 0 2px 8px var(--c-accent-glow);
    }

    /* DISCLAIMER */
    .calc-disclaimer {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        padding: 12px 16px;
        background: var(--c-warn-lt);
        border: 1.5px solid var(--c-warn-bd);
        border-radius: var(--radius);
        margin-bottom: 18px;
        cursor: pointer;
        user-select: none;
        transition: border-color var(--tr);
    }
    .calc-disclaimer:hover { border-color: #f59e0b; }
    .calc-disc-icon { font-size: 15px; flex-shrink: 0; margin-top: 1px; }
    .calc-disc-body { flex: 1; min-width: 0; }
    .calc-disc-title { font-size: 13px; font-weight: 600; color: #92400e; }
    .calc-disc-sub { font-size: 12px; color: #b45309; margin-top: 1px; }
    .calc-disc-chevron { color: #d97706; font-size: 12px; flex-shrink: 0; margin-top: 2px; transition: transform var(--tr); }
    .calc-disc-expand {
        display: none;
        margin-top: 10px;
        padding-top: 10px;
        border-top: 1px solid #fde68a;
    }
    .calc-disc-expand.open { display: block; }
    .calc-disc-pills { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
    .calc-disc-pill {
        font-size: 11px; font-weight: 600;
        padding: 4px 10px;
        border-radius: 50px;
        background: rgba(217,119,6,0.12);
        color: #92400e;
        border: 1px solid rgba(217,119,6,0.25);
    }
    .calc-disc-expand p { font-size: 12px; color: #92400e; line-height: 1.6; margin: 4px 0 0; }

    /* AUTH BANNER */
    .calc-auth-banner {
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 14px 18px;
        background: linear-gradient(135deg, var(--c-accent-lt), #f0fdf4);
        border: 1.5px solid #bfdbfe;
        border-radius: var(--radius-lg);
        margin-bottom: 20px;
        flex-wrap: wrap;
    }
    .calc-auth-icon { font-size: 28px; flex-shrink: 0; }
    .calc-auth-body { flex: 1; min-width: 180px; }
    .calc-auth-title { font-size: 14px; font-weight: 700; color: var(--c-text); margin-bottom: 2px; }
    .calc-auth-desc  { font-size: 12px; color: var(--c-muted); }
    .calc-auth-btns  { display: flex; gap: 8px; flex-wrap: wrap; }
    .calc-auth-btn {
        display: inline-flex; align-items: center; gap: 5px;
        padding: 7px 14px; border-radius: 50px;
        font-size: 12px; font-weight: 600;
        text-decoration: none; cursor: pointer; border: none;
        transition: var(--tr); white-space: nowrap;
    }
    .calc-auth-btn-primary { background: var(--c-accent); color: #fff; }
    .calc-auth-btn-primary:hover { background: #1d4ed8; transform: translateY(-1px); }
    .calc-auth-btn-ghost { background: var(--c-surface); color: var(--c-muted); border: 1.5px solid var(--c-border2); }
    .calc-auth-btn-ghost:hover { color: var(--c-accent); border-color: var(--c-accent); }

    /* MAIN GRID */
    .calc-layout {
        display: grid;
        grid-template-columns: 1fr 360px;
        gap: 18px;
        align-items: start;
    }
    @media (max-width: 960px) { .calc-layout { grid-template-columns: 1fr; } }
    .calc-col-left { grid-column: 1; min-width: 0; }
    .calc-layout > #resultCard { grid-column: 2; }
    @media (max-width: 960px) { .calc-col-left, .calc-layout > #resultCard { grid-column: 1; } }

    /* CARDS */
    .calc-card {
        background: var(--c-surface);
        border: 1.5px solid var(--c-border);
        border-radius: var(--radius-lg);
        box-shadow: var(--shadow-sm);
        overflow: hidden;
    }
    .calc-card-header {
        padding: 16px 20px 14px;
        border-bottom: 1.5px solid var(--c-border);
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        background: var(--c-surface2);
    }
    .calc-card-title {
        font-size: 15px;
        font-weight: 700;
        letter-spacing: -0.01em;
        color: var(--c-text);
    }
    .calc-badge {
        font-size: 10px;
        font-weight: 700;
        padding: 3px 9px;
        border-radius: 50px;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        background: var(--c-accent-lt);
        color: var(--c-accent);
        border: 1px solid #bfdbfe;
    }

    /* STICKY RESULT */
    .calc-result-sticky { position: sticky; top: 16px; }

    /* SECTION ISLANDS */
    .calc-section { border-bottom: 1.5px solid var(--c-border); }
    .calc-section:last-child { border-bottom: none; }
    .calc-section-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 11px 20px;
        cursor: pointer;
        user-select: none;
        background: #a4c6ee80;
        transition: background var(--tr);
        gap: 8px;
    }
    .calc-section-label {
        display: flex;
        align-items: center;
        gap: 7px;
        font-size: 21px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: #3f4d60;
    }
    .calc-section-tag {
        font-size: 9px;
        font-weight: 700;
        padding: 2px 6px;
        border-radius: 4px;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        background: var(--c-accent-lt);
        color: var(--c-accent);
        border: 1px solid #bfdbfe;
    }
    .calc-section-chev {
        color: var(--c-faint);
        font-size: 13px;
        flex-shrink: 0;
        transition: transform 0.22s ease;
    }
    .calc-section-chev.is-open { transform: rotate(180deg); }

    .calc-section-body {
        padding: 4px 20px 16px;
        display: none;
    }
    .calc-section-body.is-open { display: block; }

    /* FIELD GRIDS */
    .fgrid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .fgrid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
    @media (max-width: 520px) {
        .fgrid-2, .fgrid-3 { grid-template-columns: 1fr; gap: 8px; }
        .calc-layout { gap: 12px; }
        .calc-section-body { padding: 4px 14px 14px; }
        .calc-section-toggle { padding: 11px 14px; }
        .calc-card-header { padding: 13px 14px 11px; }
    }
    .fgroup { display: flex; flex-direction: column; gap: 4px; }
    .fgroup + .fgroup { /* handled by grid gap */ }

    /* LABELS */
    .calc-page label {
        font-size: 11px;
        font-weight: 600;
        color: var(--c-muted);
        letter-spacing: 0.02em;
        text-transform: uppercase;
        display: block;
        margin-bottom: 0;
    }
    .f-hint {
        font-size: 11px;
        color: var(--c-faint);
        line-height: 1.45;
        margin-top: 3px;
    }

    /* INPUTS & SELECTS */
    .calc-page select,
    .calc-page input[type="number"],
    .calc-page input[type="text"] {
        width: 100%;
        padding: 8px 11px;
        background: var(--c-surface);
        border: 1.5px solid var(--c-border);
        border-radius: var(--radius-sm);
        color: var(--c-text);
        font-family: 'Inter', system-ui, sans-serif;
        font-size: 13.5px;
        font-weight: 500;
        transition: border-color var(--tr), box-shadow var(--tr);
        -webkit-appearance: none;
        appearance: none;
        outline: none;
        line-height: 1.4;
    }
    .calc-page select {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 10px center;
        padding-right: 32px;
        cursor: pointer;
    }
    .calc-page select:focus,
    .calc-page input:focus {
        border-color: var(--c-accent);
        box-shadow: 0 0 0 3px var(--c-accent-glow);
    }
    .calc-page select:hover:not(:focus),
    .calc-page input:hover:not(:focus) {
        border-color: var(--c-border2);
    }
    .calc-page input[type="number"] { -moz-appearance: textfield; }
    .calc-page input[type="number"]::-webkit-inner-spin-button,
    .calc-page input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; }

    /* TOGGLE CHECKBOX */
    .calc-toggle-row {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 9px 12px;
        background: var(--c-surface2);
        border: 1.5px solid var(--c-border);
        border-radius: var(--radius-sm);
        cursor: pointer;
        transition: border-color var(--tr), background var(--tr);
        user-select: none;
    }
    .calc-toggle-row:hover { border-color: var(--c-accent); background: var(--c-accent-lt); }
    .calc-toggle-row input[type="checkbox"] {
        appearance: none;
        width: 34px; height: 19px;
        background: var(--c-border2);
        border-radius: 10px;
        border: none;
        position: relative;
        cursor: pointer;
        flex-shrink: 0;
        transition: background var(--tr);
        padding: 0; margin: 0;
    }
    .calc-toggle-row input[type="checkbox"]::after {
        content: '';
        position: absolute;
        width: 13px; height: 13px;
        border-radius: 50%;
        background: white;
        top: 3px; left: 3px;
        transition: transform var(--tr);
        box-shadow: 0 1px 3px rgba(0,0,0,0.2);
    }
    .calc-toggle-row input[type="checkbox"]:checked { background: var(--c-accent); }
    .calc-toggle-row input[type="checkbox"]:checked::after { transform: translateX(15px); }
    .calc-toggle-label { font-size: 13.5px; font-weight: 500; color: var(--c-text); cursor: pointer; }

    /* OPTION IMAGES */
    .option-images { display: none !important; } /* заменены на calc-cards везде */
    .option-thumb { display: none; }

    /* =============================================
       RESULT CARD
    ============================================= */
    .calc-result-price {
        padding: 18px 20px 14px;
        background:rgb(18, 41, 70);
        border-bottom: 1.5px solid var(--c-border);
        position: relative;
        overflow: hidden;
    }
    .calc-result-price::after {
        content: '';
        position: absolute;
        top: -60px; right: -60px;
        width: 160px; height: 160px;
        border-radius: 50%;
        background: rgba(255,255,255,0.04);
        pointer-events: none;
    }
    .calc-result-price-lbl {
        font-size: 10px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: rgba(255,255,255,0.6);
        margin-bottom: 6px;
    }
    .calc-result-range {
        font-family: 'JetBrains Mono', 'Fira Code', monospace;
        font-size: clamp(16px, 2.8vw, 20px);
        font-weight: 600;
        color: #fff;
        letter-spacing: -0.02em;
        line-height: 1.2;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .calc-result-range .sep { color: rgba(255,255,255,0.35); margin: 0 6px; font-weight: 300; }
    .calc-result-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        margin-top: 12px;
    }
    .calc-result-meta {
        background: rgba(255,255,255,0.1);
        border: 1px solid rgba(255,255,255,0.12);
        border-radius: 8px;
        padding: 8px 11px;
        backdrop-filter: blur(4px);
    }
    .calc-result-meta.full { grid-column: 1 / -1; }
    .calc-result-meta-lbl { font-size: 10px; color: rgba(255,255,255,0.55); text-transform: uppercase; letter-spacing: 0.07em; font-weight: 600; }
    .calc-result-meta-val {
        font-family: 'JetBrains Mono', monospace;
        font-size: 13px;
        font-weight: 600;
        color: #fff;
        margin-top: 2px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .calc-result-meta-val.green { color: #6ee7b7; }
    @media (max-width: 520px) {
        .calc-result-price { padding: 14px; }
        .calc-result-range { font-size: 15px; }
        .calc-result-grid { grid-template-columns: 1fr 1fr; gap: 6px; }
    }

    /* LOAN / ИПОТЕКА */
    .calc-loan{margin:0 20px 16px;padding:14px;background:var(--c-surface2);border:1px solid var(--c-border);border-radius:var(--radius)}
    .calc-loan-head{display:flex;flex-direction:column;gap:1px;margin-bottom:10px}
    .calc-loan-title{font-size:13px;font-weight:800;color:var(--c-text)}
    .calc-loan-sub{font-size:11px;color:var(--c-muted)}
    .calc-loan-tabs{display:inline-flex;background:var(--c-surface);border:1px solid var(--c-border);padding:3px;border-radius:9px;gap:2px;margin-bottom:12px}
    .calc-loan-tab{padding:6px 14px;border:none;background:transparent;color:var(--c-muted);font-size:12.5px;font-weight:700;border-radius:6px;cursor:pointer;transition:.15s}
    .calc-loan-tab:hover{color:var(--c-text)}
    .calc-loan-tab.is-active{background:var(--c-accent);color:#fff}
    .calc-loan-controls{display:flex;flex-direction:column;gap:11px;margin-bottom:12px}
    .calc-loan-ctl{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 8px;font-size:12.5px;color:var(--c-muted)}
    .calc-loan-ctl-val{font-size:12.5px;color:var(--c-text);text-align:right}
    .calc-loan-ctl-val b{font-size:14px;font-weight:800;color:var(--c-accent)}
    .calc-loan-ctl input[type=range]{grid-column:1/3;width:100%;height:5px;-webkit-appearance:none;appearance:none;background:var(--c-border);border-radius:4px;margin:3px 0 0}
    .calc-loan-ctl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--c-accent);box-shadow:0 1px 3px rgba(0,0,0,.2);cursor:pointer}
    .calc-loan-ctl input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--c-accent);cursor:pointer}
    .calc-loan-result{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:8px}
    .calc-loan-pay{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px dashed var(--c-border)}
    .calc-loan-pay-lbl{font-size:12px;color:var(--c-muted);font-weight:600}
    .calc-loan-pay-val{font-size:22px;font-weight:800;color:var(--c-accent)}
    .calc-loan-detail{display:flex;flex-direction:column;gap:5px}
    .calc-loan-detail>div{display:flex;justify-content:space-between;gap:8px;font-size:12px}
    .calc-loan-detail span{color:var(--c-muted)}
    .calc-loan-detail b{color:var(--c-text);font-weight:700}
    .calc-loan-note{font-size:10.5px;color:var(--c-faint);line-height:1.4}

    /* BREAKDOWN TABLE */
    .calc-breakdown { padding: 0 20px 16px; }
    .calc-breakdown-lbl {
        font-size: 10px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: var(--c-faint);
        padding: 14px 0 8px;
    }
    .calc-breakdown-tip { font-size: 11px; color: var(--c-faint); margin: 0 0 8px; line-height: 1.35; }
    .calc-breakdown-tip::before { content: "\2192"; margin-right: 5px; color: var(--c-accent); font-weight: 700; }
    .calc-tbl { width: 100%; border-collapse: collapse; }
    .calc-tbl tr { border-bottom: 1px solid var(--c-border); }
    .calc-tbl tr:last-child { border-bottom: none; }
    .calc-tbl td {
        padding: 6px 0;
        font-size: 13px;
        vertical-align: middle;
    }
    .calc-tbl td:first-child { color: var(--c-muted); }
    /* стрелка в кликабельных строках */
    .calc-tbl tr.clickable td:first-child {
        display: flex; align-items: center; justify-content: space-between; gap: 4px;
    }
    .calc-tbl tr.clickable td:first-child::after {
        content: "›";
        font-size: 16px; font-weight: 700;
        color: var(--c-accent);
        opacity: 0;
        transition: opacity .15s, transform .15s;
        flex-shrink: 0;
        line-height: 1;
    }
    .calc-tbl tr.clickable:hover td:first-child::after { opacity: 1; transform: translateX(2px); }
    .calc-tbl tr.clickable:hover td:first-child { color: var(--c-accent); }
    /* кликабельные строки разбивки */
    .calc-tbl tr.clickable { cursor: pointer; transition: background .12s; }
    .calc-tbl tr.clickable:hover td { background: var(--c-accent-lt,#eff6ff); }
    .calc-tbl tr.clickable:hover td:first-child { color: var(--c-accent); }
    .calc-tbl tr.clickable td:first-child::after { content: " ›"; color: var(--c-accent); font-weight:700; opacity:0; transition: opacity .12s; }
    .calc-tbl tr.clickable:hover td:first-child::after { opacity:1; }
    /* тач-устройства: :hover нет, поэтому стрелку и подсветку показываем постоянно — иначе непонятно, что строку можно открыть */
    @media (hover: none), (pointer: coarse){
        .calc-tbl tr.clickable td:first-child::after { opacity: .55; }
        .calc-tbl tr.clickable td:first-child { color: var(--c-accent); }
        .calc-tbl tr.clickable:active td { background: var(--c-accent-lt,#eff6ff); }
    }
    /* модалка этапа */
    .stg-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:10000;display:none;align-items:center;justify-content:center;padding:16px}
    .stg-modal-overlay.open{display:flex}
    .stg-modal{background:var(--c-surface);border-radius:var(--radius-lg);width:100%;max-width:680px;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.18);animation:stgIn .18s ease}
    @keyframes stgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
    .stg-modal-head{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--c-border);flex-shrink:0}
    .stg-modal-icon{font-size:24px;line-height:1;flex-shrink:0}
    .stg-modal-htitle{flex:1;min-width:0}
    .stg-modal-name{font-size:17px;font-weight:700;color:var(--c-text)}
    .stg-modal-sum{font-size:13px;color:var(--c-accent);font-weight:600;margin-top:1px}
    .stg-modal-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--c-muted);padding:4px;border-radius:6px;flex-shrink:0}
    .stg-modal-close:hover{color:var(--c-text);background:var(--c-surface2)}
    /* вкладки */
    .stg-tabs{display:flex;gap:0;border-bottom:1px solid var(--c-border);padding:0 20px;flex-shrink:0;overflow-x:auto}
    .stg-tab{padding:10px 14px;font-size:12.5px;font-weight:600;color:var(--c-muted);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:.12s;font-family:inherit}
    .stg-tab:hover{color:var(--c-text)}
    .stg-tab.on{color:var(--c-accent);border-bottom-color:var(--c-accent)}
    /* тело */
    .stg-modal-body{flex:1;overflow-y:auto;padding:20px}
    .stg-panel{display:none}
    .stg-panel.on{display:block}
    /* контент */
    .stg-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--c-faint);margin:0 0 8px}
    .stg-section-title:not(:first-child){margin-top:18px}
    .stg-desc{font-size:13.5px;color:var(--c-text);line-height:1.6;margin-bottom:14px}
    .stg-items{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
    .stg-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--c-surface2);border-radius:var(--radius-sm);font-size:13px}
    .stg-item-icon{font-size:16px;flex-shrink:0;margin-top:1px}
    .stg-item-body{flex:1;min-width:0}
    .stg-item-name{font-weight:600;color:var(--c-text);margin-bottom:2px}
    .stg-item-desc{font-size:12px;color:var(--c-muted);line-height:1.45}
    .stg-item-price{font-size:12px;font-weight:700;color:var(--c-accent);white-space:nowrap;flex-shrink:0}
    /* шаги */
    .stg-steps{display:flex;flex-direction:column;gap:0}
    .stg-step{display:flex;gap:12px;padding:10px 0;position:relative}
    .stg-step:not(:last-child)::before{content:"";position:absolute;left:15px;top:34px;bottom:0;width:2px;background:var(--c-border)}
    .stg-step-num{width:30px;height:30px;border-radius:50%;background:var(--c-accent);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
    .stg-step-body{flex:1;padding-top:4px}
    .stg-step-name{font-weight:700;font-size:13px;color:var(--c-text);margin-bottom:3px}
    .stg-step-desc{font-size:12.5px;color:var(--c-muted);line-height:1.45}
    .stg-step-dur{display:inline-block;font-size:11px;font-weight:600;background:var(--c-surface2);color:var(--c-faint);padding:2px 8px;border-radius:50px;margin-top:4px}
    /* советы */
    .stg-tips{display:flex;flex-direction:column;gap:8px}
    .stg-tip{display:flex;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);font-size:13px;line-height:1.45}
    .stg-tip.warn{background:#fff8ed;border:1px solid #fcd34d;color:#92400e}
    .stg-tip.ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}
    .stg-tip.info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}
    .stg-tip-icon{font-size:15px;flex-shrink:0;margin-top:1px}
    /* ценовая таблица */
    .stg-price-tbl{width:100%;border-collapse:collapse;font-size:13px}
    .stg-price-tbl th{text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c-faint);padding:0 8px 8px;border-bottom:1px solid var(--c-border)}
    .stg-price-tbl td{padding:8px 8px;border-bottom:1px solid var(--c-border)}
    .stg-price-tbl td:last-child{text-align:right;font-weight:700;color:var(--c-accent)}
    .stg-price-tbl tr:last-child td{border-bottom:none}
    .stg-share-bar{height:6px;background:var(--c-border);border-radius:3px;overflow:hidden;margin-top:6px}
    .stg-share-fill{height:100%;border-radius:3px;background:var(--c-accent);transition:width .4s}
    .calc-tbl td:last-child {
        text-align: right;
        font-family: 'JetBrains Mono', monospace;
        font-size: 12px;
        font-weight: 600;
        color: var(--c-text);
        white-space: nowrap;
        padding-left: 8px;
    }
    .calc-tbl tfoot td {
        padding-top: 10px;
        font-weight: 700;
        color: var(--c-text);
        border-top: 2px solid var(--c-border2);
        font-size: 13px;
    }
    .calc-tbl tfoot td:last-child { color: var(--c-green); font-size: 13px; }
    @media (max-width: 520px) {
        .calc-breakdown { padding: 0 14px 14px; }
    }

    /* SELECTED SUMMARY */
    .calc-selected { padding: 0 20px 16px; }
    .calc-selected-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
    .calc-sel-item {
        background: var(--c-surface2);
        border: 1px solid var(--c-border);
        border-radius: var(--radius-sm);
        padding: 8px 10px;
    }
    .calc-sel-lbl { font-size: 10px; color: var(--c-faint); text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600; }
    .calc-sel-val { font-size: 12.5px; font-weight: 600; color: var(--c-text); margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    @media (max-width: 520px) { .calc-selected { padding: 0 14px 14px; } }

    /* SMETA */
    .calc-smeta { padding: 0 20px 16px; }
    .calc-smeta-header {
        display: flex; align-items: center; justify-content: space-between;
        padding: 12px 0 8px; gap: 8px;
    }
    .calc-smeta-lbl { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--c-faint); }
    .calc-copy-btn {
        display: inline-flex; align-items: center; gap: 5px;
        padding: 5px 10px;
        background: var(--c-surface2);
        border: 1.5px solid var(--c-border);
        border-radius: 6px;
        font-size: 11px; font-weight: 600; color: var(--c-muted);
        cursor: pointer; transition: var(--tr); font-family: inherit;
    }
    .calc-copy-btn:hover { border-color: var(--c-accent); color: var(--c-accent); }
    .calc-copy-btn.copied { background: var(--c-green-lt); border-color: #6ee7b7; color: var(--c-green); }
    #outText {
        width: 100%;
        height: 150px;
        background: var(--c-surface2);
        border: 1.5px solid var(--c-border);
        border-radius: var(--radius-sm);
        color: var(--c-muted);
        font-family: 'JetBrains Mono', monospace;
        font-size: 11px;
        line-height: 1.65;
        padding: 10px 12px;
        resize: vertical;
        outline: none;
    }
    #outText:focus { border-color: var(--c-border2); }
    @media (max-width: 520px) { .calc-smeta { padding: 0 14px 14px; } }

    /* ACTIONS — переработанный блок */
    .calc-actions { padding: 0; background: var(--c-surface2); }
    .calc-actions-card { margin-top: 18px; }
    /* Маршрутные карточки */
    .ca-routes { display: flex; flex-direction: column; gap: 8px; padding: 14px 18px; }
    .ca-route {
        display: flex; align-items: flex-start; gap: 12px;
        padding: 12px 14px; border-radius: var(--radius);
        border: 1.5px solid var(--c-border); background: var(--c-surface);
        cursor: pointer; transition: .15s; text-align: left; width: 100%;
        font-family: inherit;
    }
    .ca-route:hover:not(:disabled) { border-color: var(--c-accent); box-shadow: 0 2px 8px rgba(66,110,255,.08); }
    .ca-route.route-primary  { border-color: var(--c-accent); background: var(--c-accent-lt,#eff6ff); }
    .ca-route.route-primary:hover:not(:disabled) { background: #dbeafe; }
    .ca-route.route-success  { border-color: #86efac; background: #f0fdf4; }
    .ca-route.route-success:hover:not(:disabled) { background: #dcfce7; }
    .ca-route.route-company  { border-color: #c4b5fd; background: #faf5ff; }
    .ca-route.route-company:hover:not(:disabled) { background: #f3e8ff; }
    .ca-route-icon  { font-size: 22px; flex-shrink: 0; line-height: 1; margin-top: 2px; }
    .ca-route-body  { flex: 1; min-width: 0; }
    .ca-route-title { font-size: 13px; font-weight: 700; color: var(--c-text); margin-bottom: 2px; line-height: 1.3; }
    .ca-route-desc  { font-size: 11px; color: var(--c-muted); line-height: 1.45; }
    .ca-route-arrow { color: var(--c-faint); font-size: 14px; flex-shrink: 0; align-self: center; margin-left: 4px; }
    .ca-route:hover:not(:disabled) .ca-route-arrow { color: var(--c-accent); transform: translateX(2px); }
    .ca-route:disabled { opacity: .4; cursor: not-allowed; pointer-events: none; }
    .ca-routes-title {
        font-size: 10px; font-weight: 700; text-transform: uppercase;
        letter-spacing: .08em; color: var(--c-faint);
        padding: 14px 18px 0; margin-bottom: -2px;
    }
    /* Секция «Сохранить» */
    .ca-save-wrap { padding: 12px 18px 14px; border-top: 1px solid var(--c-border); }
    .ca-save-label { font-size: 11px; font-weight: 700; color: var(--c-muted); display: flex; align-items: center; gap: 5px; margin-bottom: 8px; }
    .ca-name-row { display: flex; gap: 8px; margin-bottom: 8px; }
    .ca-name-row input { flex: 1; font-size: 13px; }
    /* совместимость — оставляем старые классы */
    .calc-action-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--c-faint); display: flex; align-items: center; gap: 6px; margin-bottom: 8px; }
    .calc-name-row { display: flex; gap: 8px; margin-bottom: 8px; }
    .calc-name-row input { flex: 1; font-size: 13px; }
    .calc-divider { height: 1px; background: var(--c-border); margin: 0; }
    .calc-footer-row { display: flex; gap: 8px; padding: 12px 18px 14px; }
    @media (max-width: 520px) { .ca-routes { padding: 10px 12px; } .ca-save-wrap { padding: 10px 12px; } .calc-footer-row { padding: 10px 12px 12px; } }

    /* BUTTONS */
    .cbtn {
        display: inline-flex; align-items: center; gap: 6px;
        padding: 8px 15px; border-radius: var(--radius-sm);
        font-family: 'Inter', system-ui, sans-serif;
        font-size: 13px; font-weight: 600;
        border: none; cursor: pointer; transition: var(--tr);
        text-decoration: none; white-space: nowrap;
        letter-spacing: -0.01em;
    }
    .cbtn-primary { background: var(--c-accent); color: #fff; }
    .cbtn-primary:hover:not(:disabled) { background: #1d4ed8; transform: translateY(-1px); box-shadow: 0 4px 12px var(--c-accent-glow); }
    .cbtn-success { background: var(--c-green-lt); color: var(--c-green); border: 1.5px solid #a7f3d0; }
    .cbtn-success:hover:not(:disabled) { background: #d1fae5; }
    .cbtn-ghost { background: var(--c-surface); color: var(--c-muted); border: 1.5px solid var(--c-border); }
    .cbtn-ghost:hover:not(:disabled) { border-color: var(--c-accent); color: var(--c-accent); }
    .cbtn-wide { width: 100%; justify-content: center; }
    .cbtn:disabled { opacity: 0.4; cursor: not-allowed; transform: none !important; box-shadow: none !important; }
    .cbtn svg { flex-shrink: 0; }

    /* LOCKED SAVE SECTION */
    .calc-locked { opacity: 0.5; pointer-events: none; }

    /* WARN NOTE */
    .calc-warn-note {
        display: flex; gap: 7px; align-items: flex-start;
        padding: 9px 12px;
        background: #fef2f2;
        border: 1px solid #fecaca;
        border-radius: var(--radius-sm);
        font-size: 12px; color: #991b1b; line-height: 1.5;
        margin-bottom: 10px;
    }

    /* BOTTOM BAR */
    .calc-bottom-bar {
        display: none;
        position: fixed; bottom: 0; left: 0; right: 0; z-index: 200;
        background: rgba(255,255,255,0.96);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border-top: 1.5px solid var(--c-border);
        padding: 10px 16px;
        padding-bottom: max(10px, env(safe-area-inset-bottom));
        box-shadow: 0 -4px 20px rgba(15,23,42,0.08);
    }
    .calc-bottom-inner { display: flex; align-items: center; gap: 12px; }
    .calc-bottom-left { flex: 1; min-width: 0; }
    .calc-bottom-lbl { font-size: 10px; text-transform: uppercase; letter-spacing: 0.07em; color: var(--c-faint); font-weight: 600; }
    .calc-bottom-price {
        font-family: 'JetBrains Mono', monospace;
        font-size: 15px; font-weight: 600; color: var(--c-text);
        white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
        letter-spacing: -0.02em;
    }
    .calc-bottom-sub { font-size: 11px; color: var(--c-faint); margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .calc-bottom-cta {
        flex-shrink: 0;
        display: flex; align-items: center; gap: 6px;
        padding: 10px 16px;
        border: none; border-radius: var(--radius-sm, 8px);
        background: var(--c-accent); color: #fff;
        font-size: 13px; font-weight: 700; font-family: inherit;
        white-space: nowrap; cursor: pointer;
    }
    .calc-bottom-cta:active { opacity: .85; }
    @media (max-width: 640px) {
        .calc-bottom-bar { display: block; }
        body { padding-bottom: 78px; }
    }
    @media (min-width: 641px) { .calc-bottom-bar { display: none !important; } }

    /* IMAGE LIGHTBOX */
    .img-modal {
        display: none; position: fixed; inset: 0; z-index: 19999;
        background: rgba(0,0,0,0.88); justify-content: center; align-items: center;
        backdrop-filter: blur(6px); flex-direction: column;
    }
    .img-modal.active { display: flex; }
    .img-modal-img { max-width: 90vw; max-height: 78vh; border-radius: var(--radius); box-shadow: 0 8px 48px rgba(0,0,0,.6); object-fit: contain; transition: opacity .2s; }
    .img-modal-caption { color: rgba(255,255,255,.7); font-size: 13px; margin-top: 10px; max-width: 80vw; text-align: center; }
    .img-modal-counter { color: rgba(255,255,255,.5); font-size: 11px; margin-top: 4px; }
    .img-modal-close { position: fixed; top: 16px; right: 20px; color: #fff; font-size: 32px; cursor: pointer; opacity: 0.6; line-height: 1; z-index: 20000; transition: opacity .15s; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; }
    .img-modal-close:hover { opacity: 1; }
    .img-modal-nav { position: fixed; top: 50%; transform: translateY(-50%); color: #fff; font-size: 28px; cursor: pointer; opacity: 0.5; background: rgba(0,0,0,.3); width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: opacity .15s, background .15s; user-select: none; }
    .img-modal-nav:hover { opacity: 1; background: rgba(0,0,0,.6); }
    .img-modal-prev { left: 12px; }
    .img-modal-next { right: 12px; }
    .img-modal-nav.hidden { display: none; }
    .img-modal-dots { display: flex; gap: 6px; margin-top: 10px; }
    .img-modal-dot { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.35); cursor: pointer; transition: background .15s; }
    .img-modal-dot.active { background: #fff; }
    /* option-thumb: cursor zoom-in hint */
    .option-thumb { cursor: zoom-in !important; position: relative; }

    /* SCROLLBAR */
    .calc-page ::-webkit-scrollbar { width: 5px; height: 5px; }
    .calc-page ::-webkit-scrollbar-track { background: transparent; }
    .calc-page ::-webkit-scrollbar-thumb { background: var(--c-border2); border-radius: 3px; }

    /* ANIMATIONS */
    @keyframes calcFadeUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
    .calc-card { animation: calcFadeUp 0.3s ease both; }
    .calc-layout > *:nth-child(2) { animation-delay: 0.06s; }

    /* =============================================
       FILE UPLOAD BLOCK
    ============================================= */
    .calc-files-block {
        background: var(--c-surface2);
        border: 1px solid var(--c-border);
        border-radius: var(--radius-sm);
        padding: 14px;
        margin-bottom: 12px;
    }
    .calc-file-drop {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        border: 2px dashed var(--c-border2);
        border-radius: var(--radius-sm);
        padding: 18px 12px;
        cursor: pointer;
        transition: border-color var(--tr), background var(--tr);
        text-align: center;
        color: var(--c-muted);
        font-size: 13px;
        background: var(--c-surface);
    }
    .calc-file-drop:hover,
    .calc-file-drop.drag-over {
        border-color: #667eea;
        background: #f5f3ff;
        color: #667eea;
    }
    .calc-file-list {
        margin-top: 10px;
        display: flex;
        flex-direction: column;
        gap: 6px;
    }
    .calc-file-item {
        display: flex;
        align-items: center;
        gap: 8px;
        background: var(--c-surface);
        border: 1px solid var(--c-border);
        border-radius: 6px;
        padding: 7px 10px;
        font-size: 12px;
        color: var(--c-text);
    }
    .calc-file-item-icon {
        font-size: 16px;
        flex-shrink: 0;
        line-height: 1;
    }
    .calc-file-item-name {
        flex: 1;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .calc-file-item-size {
        color: var(--c-faint);
        flex-shrink: 0;
    }
    .calc-file-item-remove {
        background: none;
        border: none;
        color: var(--c-faint);
        cursor: pointer;
        padding: 2px 4px;
        border-radius: 4px;
        font-size: 14px;
        line-height: 1;
        flex-shrink: 0;
        transition: color var(--tr);
    }
    .calc-file-item-remove:hover { color: var(--c-red); }
    .calc-file-error {
        margin-top: 8px;
        font-size: 12px;
        color: var(--c-red);
        background: #fff5f5;
        border: 1px solid #fecaca;
        border-radius: 6px;
        padding: 7px 10px;
    }
    .calc-file-retention {
        display: flex;
        align-items: flex-start;
        gap: 5px;
        margin-top: 8px;
        font-size: 11px;
        color: var(--c-faint);
        line-height: 1.4;
    }

.calc-modes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}
.calc-mode-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;border:1.5px solid var(--c-border);background:var(--c-surface);border-radius:var(--radius);cursor:pointer;transition:var(--tr);text-align:center}
.calc-mode-btn:hover{border-color:var(--c-accent)}
.calc-mode-btn.is-active{border-color:var(--c-accent);background:var(--c-accent-lt);box-shadow:0 2px 8px var(--c-accent-glow)}
.calc-mode-btn .cm-ico{font-size:20px;line-height:1}
.calc-mode-btn .cm-txt{font-weight:700;font-size:13px;color:var(--c-text)}
.calc-mode-btn .cm-sub{font-size:11px;color:var(--c-muted)}
@media(max-width:560px){.calc-modes{grid-template-columns:repeat(2,1fr)}.calc-mode-btn .cm-sub{display:none}}

.calc-preview{display:flex;gap:14px;align-items:center;padding:14px;margin-bottom:16px;border:1.5px solid var(--c-border);border-radius:var(--radius);background:var(--c-surface2)}
.calc-preview img{width:120px;height:84px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;background:#e9eef5}
.calc-preview .cp-noimg{width:120px;height:84px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:#e9eef5;color:var(--c-faint);font-size:24px;flex-shrink:0}
.calc-preview .cp-body{min-width:0}
.calc-preview .cp-group{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--c-muted)}
.calc-preview .cp-name{font-weight:700;font-size:16px;color:var(--c-text);margin:2px 0}
.calc-preview .cp-desc{font-size:13px;color:var(--c-muted);line-height:1.4}

/* карточки выбора (простой режим) */
.calc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-top:8px}
.calc-card-opt{border:1.5px solid var(--c-border);border-radius:var(--radius);overflow:hidden;cursor:pointer;background:var(--c-surface);transition:var(--tr);display:flex;flex-direction:column}
.calc-card-opt:hover{border-color:var(--c-accent);box-shadow:var(--shadow-sm)}
.calc-card-opt.is-active{border-color:var(--c-accent);box-shadow:0 0 0 2px var(--c-accent-glow)}
.calc-card-opt.is-disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.6)}
.calc-card-opt .cco-img{width:100%;height:155px;object-fit:cover;background:#e9eef5;display:block}
.calc-card-opt .cco-noimg{width:100%;height:155px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef2f8,#e3e9f3);color:#b3bccb;font-size:42px}
.calc-card-opt .cco-b{padding:10px 12px 13px}
.calc-card-opt .cco-name{font-weight:700;font-size:13.5px;color:var(--c-text);line-height:1.3}
.calc-card-opt .cco-price{font-size:12px;color:var(--c-accent);font-weight:600;margin-top:2px}
.calc-card-opt .cco-reason{font-size:11px;color:var(--c-red);margin-top:4px}

/* кнопки сравнить / инфо */
.calc-group-tools{display:flex;gap:8px;align-items:center;margin-top:6px}
.calc-link-btn{font-size:12px;color:var(--c-accent);background:none;border:none;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:4px}
.calc-link-btn:hover{text-decoration:underline}
.calc-info-pop{font-size:12px;color:var(--c-muted);background:var(--c-surface2);border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:8px 10px;margin-top:6px;line-height:1.45}
.calc-info-pop .cip-pros{color:var(--c-green)}
.calc-info-pop .cip-cons{color:var(--c-warn)}
.calc-info-pop ul{margin:3px 0 0;padding-left:18px}

/* модалка сравнения */
.calc-cmp-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);display:none;align-items:center;justify-content:center;z-index:9999;padding:16px}
.calc-cmp-overlay.is-open{display:flex}
.calc-cmp{background:var(--c-surface);border-radius:var(--radius-lg);max-width:960px;width:100%;max-height:88vh;overflow:auto;box-shadow:var(--shadow-lg)}
.calc-cmp-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--c-border);position:sticky;top:0;background:var(--c-surface);z-index:10;isolation:isolate}
.calc-cmp-head h3{margin:0;font-size:18px}
.calc-cmp-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--c-muted)}
.calc-cmp-grid{display:grid;gap:16px;padding:18px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
/* ===== УМНОЕ СРАВНЕНИЕ: рейтинги и итоговый блок ===== */
.cmp-sort-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 18px;border-bottom:1px solid var(--c-border)}
.cmp-sort-label{font-size:12px;color:var(--c-muted);font-weight:600;white-space:nowrap}
.cmp-sort-btn{padding:6px 12px;border-radius:50px;border:1.5px solid var(--c-border);background:var(--c-surface);font-size:12px;font-weight:600;cursor:pointer;color:var(--c-text);transition:.15s;display:flex;align-items:center;gap:4px}
.cmp-sort-btn.on{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}
.cmp-sort-btn.reset{background:transparent;color:var(--c-muted);border-color:var(--c-border)}
.cmp-sort-btn.reset:hover{color:var(--c-red);border-color:var(--c-red)}
.cmp-sort-btn:hover:not(.on):not(.reset){border-color:var(--c-accent);color:var(--c-accent)}
.cmp-sort-rank{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:rgba(255,255,255,.3);font-size:10px;font-weight:800}
.cmp-sort-btn.on .cmp-sort-rank{background:rgba(255,255,255,.35);color:#fff}
.ccc-rank-badge{font-size:20px;line-height:1}
.ccc-rank-block{display:flex;align-items:center;gap:5px;margin-bottom:6px;flex-wrap:wrap}
.ccc-rank-medal{font-size:22px;line-height:1}
.ccc-rank-pos{font-size:12px;font-weight:800;color:var(--c-text)}
.ccc-rank-label{font-size:11px;color:var(--c-muted);font-style:italic}
.calc-cmp-col.is-rank-1{border:2px solid #fbbf24;box-shadow:0 0 0 3px rgba(251,191,36,.15)}
.calc-cmp-col.is-rank-2{border:2px solid #94a3b8;box-shadow:0 0 0 2px rgba(148,163,184,.15)}
.calc-cmp-col.is-rank-3{border:2px solid #cd7f32;box-shadow:0 0 0 2px rgba(205,127,50,.12)}
.ccc-spec-row.active-spec .ccc-spec-label{color:var(--c-accent);font-weight:700}
.ccc-spec-row.active-spec .ccc-spec-val{color:var(--c-accent);font-weight:800}
.ccc-summary-lines{display:flex;flex-direction:column;gap:6px}
.ccc-summary-line{font-size:13px;color:var(--c-text);padding:5px 10px;background:var(--c-surface);border-radius:6px;border-left:3px solid var(--c-accent)}
.ccc-specs{display:flex;flex-direction:column;gap:5px;margin:8px 0 6px}
.ccc-spec-row{display:flex;align-items:center;gap:7px;font-size:11px}
.ccc-spec-label{color:var(--c-muted);min-width:100px;flex-shrink:0;font-size:10.5px}
.ccc-spec-bar{flex:1;height:4px;background:var(--c-border);border-radius:2px;overflow:hidden}
.ccc-spec-fill{height:100%;border-radius:2px;transition:width .5s cubic-bezier(.4,0,.2,1)}
.ccc-spec-fill.heat{background:#f59e0b}
.ccc-spec-fill.speed{background:#3b82f6}
.ccc-spec-fill.price{background:#ef4444}
.ccc-spec-fill.life{background:#10b981}
.ccc-spec-fill.sound{background:#8b5cf6}
.ccc-spec-fill.eco{background:#22c55e}
.ccc-spec-fill.fire{background:#f97316}
.ccc-spec-fill.moisture{background:#06b6d4}
.ccc-spec-fill.maintain{background:#84cc16}
.ccc-spec-fill.comfort{background:#ec4899}
.ccc-spec-val{font-size:10.5px;font-weight:700;min-width:28px;text-align:right;color:var(--c-text)}
.ccc-best-badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;border-radius:50px;letter-spacing:.01em}
.ccc-best-badge.heat{background:#fef3c7;color:#92400e}
.ccc-best-badge.speed{background:#dbeafe;color:#1e40af}
.ccc-best-badge.price{background:#fee2e2;color:#991b1b}
.ccc-best-badge.life{background:#d1fae5;color:#065f46}
.ccc-best-badge.sound{background:#ede9fe;color:#5b21b6}
.ccc-best-badge.eco{background:#dcfce7;color:#14532d}
.ccc-best-badge.fire{background:#fff7ed;color:#9a3412}
.ccc-best-badge.moisture{background:#e0f2fe;color:#075985}
.ccc-best-badge.maintain{background:#f0fdf4;color:#166534}
.ccc-best-badge.comfort{background:#fdf4ff;color:#6b21a8}
.ccc-smart-summary{margin:0 18px 20px;padding:14px 16px;background:var(--c-surface-2,#f8fafc);border-radius:var(--radius);border:1px solid var(--c-border);font-size:13px}
.ccc-smart-summary h4{margin:0 0 10px;font-size:11px;color:var(--c-faint);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.ccc-summary-line{font-size:12.5px;color:var(--c-text);padding:6px 10px;background:var(--c-surface);border-radius:6px;border-left:3px solid var(--c-accent);line-height:1.45}
.ccc-summary-lines{display:flex;flex-direction:column;gap:6px}
/* бейджи-обёртка в карточке */
.ccc-badges-row{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:8px}
/* rank-block в карточке */
.ccc-rank-pos{font-size:12px;font-weight:800;color:var(--c-text)}
.ccc-rank-label{font-size:10.5px;color:var(--c-muted);font-style:italic}
.ccc-rank-medal{font-size:20px;line-height:1}
/* pick button margin */
.ccc-b .ccc-pick{margin-top:12px}
.ccc-verdict{display:flex;flex-wrap:wrap;gap:8px}
.ccc-verdict-item{padding:6px 12px;border-radius:50px;font-size:12px;font-weight:700;background:var(--c-accent-lt,#eff6ff);color:var(--c-accent)}
.ccc-divider{height:1px;background:var(--c-border);margin:6px 0}
.calc-cmp-col{border:1.5px solid var(--c-border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s}
.calc-cmp-col:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}
.calc-cmp-col.is-active{border-color:var(--c-accent)}
.calc-cmp-col img{width:100%;height:140px;object-fit:cover;background:#e9eef5}
.calc-cmp-col .ccc-noimg{width:100%;height:140px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef2f8,#e3e9f3);color:#b3bccb;font-size:36px}
.calc-cmp-col .ccc-b{padding:14px;display:flex;flex-direction:column;gap:0;flex:1}
.calc-cmp-col .ccc-name{font-weight:700;font-size:15px;margin-bottom:6px;line-height:1.25}
.calc-cmp-col .ccc-price{font-size:12px;color:var(--c-accent);font-weight:600;margin-bottom:4px}
.calc-cmp-col .ccc-desc{font-size:12px;color:var(--c-muted);line-height:1.45;margin-bottom:6px}
.calc-cmp-col .ccc-pros{font-size:11.5px;color:var(--c-green);line-height:1.5}
.calc-cmp-col .ccc-cons{font-size:11.5px;color:var(--c-warn);line-height:1.5}
.calc-cmp-col .ccc-divider{height:1px;background:var(--c-border);margin:8px 0}
.calc-cmp-col .ccc-pick{margin-top:auto;padding:9px 12px;border:none;background:var(--c-accent);color:#fff;font-weight:600;cursor:pointer;border-radius:var(--radius-sm);font-size:13px;transition:opacity .15s}
.calc-cmp-col .ccc-pick:hover:not(:disabled){opacity:.88}
.calc-cmp-col .ccc-pick:disabled{background:var(--c-faint);cursor:default}
/* ---- галерея в карточке сравнения ---- */
.ccc-gallery{position:relative;width:100%;flex-shrink:0}
.ccc-gallery-img{width:100%;height:140px;object-fit:cover;background:#e9eef5;display:block;cursor:zoom-in;transition:opacity .2s}
.ccc-gallery-noimg{width:100%;height:140px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef2f8,#e3e9f3);color:#b3bccb;font-size:36px}
.ccc-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(15,23,42,.5);color:#fff;border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;opacity:0;transition:opacity .15s;z-index:3}
.ccc-gallery:hover .ccc-gallery-nav{opacity:1}
.ccc-gallery-nav:hover{background:rgba(15,23,42,.82)}
.ccc-gallery-nav.prev{left:8px}
.ccc-gallery-nav.next{right:8px}
.ccc-gallery-dots{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:3}
.ccc-gallery-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer;transition:background .15s}
.ccc-gallery-dot.on{background:#fff;transform:scale(1.2)}
.ccc-gallery-count{position:absolute;top:8px;left:10px;background:rgba(15,23,42,.55);color:#fff;font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;z-index:3}
/* ---- блок цен: вкладки пакетов + таблица площадей ---- */
.ccc-price-block{margin:6px 0 2px}
.ccc-price-m2{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px;padding:8px 10px;background:var(--c-accent-lt,#eff6ff);border-radius:var(--radius-sm)}
.ccc-price-m2-label{font-size:11px;color:var(--c-muted)}
.ccc-price-m2-val{font-size:14px;font-weight:800;color:var(--c-accent);letter-spacing:-.01em}
.ccc-pack-tabs{display:flex;gap:2px;background:var(--c-border);border-radius:7px;padding:2px;margin-bottom:6px}
.ccc-pack-tab{flex:1;padding:5px 4px;font-size:10px;font-weight:700;text-align:center;border:none;background:transparent;border-radius:5px;cursor:pointer;color:var(--c-muted);transition:.12s;white-space:nowrap;line-height:1.2}
.ccc-pack-tab.on{background:var(--c-surface);color:var(--c-accent);box-shadow:0 1px 4px rgba(0,0,0,.13)}
.ccc-pack-tab:hover:not(.on){color:var(--c-text)}
.ccc-area-table{width:100%;border-collapse:collapse;font-size:11.5px}
.ccc-area-table th{text-align:left;color:var(--c-faint);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:0 6px 5px;border-bottom:1px solid var(--c-border)}
.ccc-area-table th:last-child{text-align:right}
.ccc-area-table td{padding:5px 6px;border-top:1px solid var(--c-border)}
.ccc-area-table td:first-child{color:var(--c-muted);font-weight:500}
.ccc-area-table td:last-child{text-align:right;font-weight:700;color:var(--c-text)}
.ccc-area-table tr:first-child td{border-top:none}
/* ---- новые бейджи крит. ---- */
.ccc-best-badge.energy{background:#f0fdf4;color:#166534}
.ccc-best-badge.repair{background:#fefce8;color:#854d0e}
.ccc-best-badge.trouble{background:#f0f9ff;color:#0369a1}
.ccc-spec-fill.energy{background:#16a34a}
.ccc-spec-fill.repair{background:#ca8a04}
.ccc-spec-fill.trouble{background:#0284c7}

/* тосты */
.calc-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--c-text);color:#fff;padding:10px 16px;border-radius:50px;font-size:13px;z-index:10000;box-shadow:var(--shadow);opacity:0;transition:opacity .25s;pointer-events:none;max-width:90vw}
.calc-toast.show{opacity:.95}

/* приглушение несовместимых option (визуальная подсказка в нативном select ограничена) */
.calc-mode-lite #inputSection .calc-section-toggle{cursor:default}

/* ===== ПОЛИШ: простой режим — карточки на всю ширину ===== */
.calc-mode-lite #inputSection .fgrid-2,
.calc-mode-lite #inputSection .fgrid-3{display:block}
.calc-mode-lite #inputSection .fgroup{margin-bottom:18px}
.calc-mode-lite #inputSection .fgroup:last-child{margin-bottom:0}
.calc-mode-lite #inputSection label{font-size:13px;font-weight:600;color:var(--c-muted);text-transform:uppercase;letter-spacing:.03em}
.calc-mode-lite .f-hint{margin-top:6px}

/* ===== МАРКЕРЫ РЕКОМЕНДАЦИЙ ===== */
/* Плашка под select-ом */
.crec-banner{display:flex;align-items:flex-start;gap:8px;margin-top:6px;padding:8px 10px;
  background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #bbf7d0;
  border-radius:var(--radius-sm);font-size:12px;color:#166534;line-height:1.4;
  animation:crecIn .2s ease}
.crec-banner.crec-banner-done{background:linear-gradient(135deg,#f0fdf4,#f0fdf4);border-color:#86efac;opacity:.8}
@keyframes crecIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.crec-banner-icon{font-size:14px;flex-shrink:0;margin-top:1px}
.crec-banner-body{flex:1}
.crec-banner-title{font-weight:700;margin-bottom:3px}
.crec-banner-items{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.crec-tag{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;
  border-radius:50px;font-size:11px;font-weight:600;cursor:pointer;transition:.12s;
  background:#dcfce7;color:#166534;border:1px solid #bbf7d0}
.crec-tag:hover{background:#bbf7d0;border-color:#86efac}
.crec-tag.is-current{background:#166534;color:#fff;border-color:#166534;cursor:default}
.crec-tag .crec-tag-dot{width:5px;height:5px;border-radius:50%;
  background:currentColor;opacity:.6;flex-shrink:0}
/* Маркер «★ Рекомендуется» в нативном select через data-атрибут */
.crec-opt-hint{display:inline-block;font-size:10px;font-weight:700;padding:1px 6px;
  border-radius:4px;background:#dcfce7;color:#166534;margin-left:4px;vertical-align:middle}
/* Маркер в карточках (calc-card-opt) */
.crec-card-mark{position:absolute;top:6px;left:6px;z-index:2;
  background:#16a34a;color:#fff;font-size:9px;font-weight:800;
  padding:2px 7px;border-radius:50px;letter-spacing:.03em;text-transform:uppercase;
  box-shadow:0 1px 4px rgba(22,163,74,.3)}
/* Маркер в карточках сравнения */
.crec-cmp-mark{display:inline-block;background:#dcfce7;color:#166534;
  font-size:10px;font-weight:700;padding:2px 8px;border-radius:50px;
  border:1px solid #86efac;margin-bottom:4px}

/* карточки: адаптивная сетка, компактнее, аккуратный плейсхолдер */
.calc-cards{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.calc-card-opt{border-radius:var(--radius);overflow:hidden;border:1.5px solid var(--c-border);background:var(--c-surface);cursor:pointer;transition:.15s;position:relative}
.calc-card-opt .cco-img,.calc-card-opt .cco-noimg{height:155px}
.calc-card-opt .cco-noimg{background:linear-gradient(135deg,#eef2f8,#e3e9f3);color:#b3bccb;font-size:40px}
.calc-card-opt .cco-b{padding:10px 12px 13px}
.calc-card-opt:hover:not(.is-disabled){border-color:var(--c-accent);box-shadow:0 2px 12px rgba(66,110,255,.12);transform:translateY(-1px)}
.calc-card-opt.is-active{border-color:var(--c-accent);background:var(--c-accent-lt,#eff6ff);box-shadow:0 0 0 2px var(--c-accent-glow,rgba(66,110,255,.15))}
.calc-card-opt.is-active .cco-name{color:var(--c-accent)}
.calc-card-opt.is-active::after{content:"✓";position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:var(--c-accent);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.25);pointer-events:none}
.calc-card-opt .cco-price{font-size:12px;font-weight:700;color:var(--c-accent);margin-top:3px}
.calc-card-opt .cco-reason{font-size:11px;color:var(--c-warn);margin-top:3px;line-height:1.3}
.calc-card-opt.is-disabled{opacity:.45;pointer-events:none}

/* инструменты группы — ровнее */
.calc-group-tools{flex-wrap:wrap}

/* ===== МОБИЛЬНАЯ ВЕРСИЯ ===== */
@media (max-width:640px){
  .calc-modes{gap:6px;margin-bottom:12px}
  .calc-mode-btn{padding:10px 6px}
  .calc-mode-btn .cm-ico{font-size:18px}
  .calc-mode-btn .cm-txt{font-size:12px}
  .calc-preview{padding:10px;gap:10px}
  .calc-preview img,.calc-preview .cp-noimg{width:88px;height:64px}
  .calc-preview .cp-name{font-size:15px}
  .calc-preview .cp-desc{font-size:12px}
  .calc-cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
  .calc-card-opt .cco-img,.calc-card-opt .cco-noimg{height:125px}
  .calc-card-opt .cco-name{font-size:12.5px}
  .calc-cmp{max-height:92vh}
  .calc-cmp-grid{grid-template-columns:1fr 1fr;gap:10px;padding:12px}
  .calc-cmp-col img,.calc-cmp-col .ccc-noimg{height:96px}
  .cb-scenarios{grid-template-columns:1fr}.cbs-img,.cbs-img-ph{height:80px}
  .cb-budget-inputs{grid-template-columns:1fr 1fr}
  .cb-go{grid-column:1/3}
  .cb-actions .cb-btn{flex:1 1 100%}
}
@media (max-width:380px){
  .calc-modes{grid-template-columns:1fr 1fr}
  .calc-cards{grid-template-columns:1fr 1fr}
  .calc-card-opt .cco-img,.calc-card-opt .cco-noimg{height:100px}
  .calc-cmp-grid{grid-template-columns:1fr}
}

/* ===== ШАГ 1: выбор типа дома (основа расчёта) ===== */
.ht-hero{background:linear-gradient(135deg, #ccdbef80, #91a4b06e);border-radius:var(--radius-lg);padding:16px;margin-bottom:18px;box-shadow:0 2px 10px var(--c-accent-glow)}
.hth-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.hth-step{flex-shrink:0;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--c-accent);padding:5px 9px;border-radius:50px}
.hth-title{font-size:16px;font-weight:800;color:var(--c-text);line-height:1.25}
.hth-sub{font-size:12.5px;color:var(--c-muted);margin-top:2px;line-height:1.4}
.hth-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.hth-card{display:flex;flex-direction:column;gap:0;text-align:left;padding:0;overflow:hidden;border:1.5px solid var(--c-border);background:var(--c-surface);border-radius:var(--radius);cursor:pointer;transition:var(--tr);position:relative;font-family:inherit}
.hth-card:hover{border-color:var(--c-accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.hth-card.is-active{border-color:var(--c-accent);background:var(--c-accent-lt);box-shadow:0 0 0 2px var(--c-accent-glow)}
.hth-ico{display:flex;align-items:center;justify-content:center;width:100%;height:150px;font-size:56px;line-height:1;background:var(--c-surface-2);border-bottom:1px solid var(--c-border)}
.hth-ico-img{width:100%;height:170px;overflow:hidden;background:var(--c-surface-2);border-bottom:1px solid var(--c-border)}
.hth-ico-img img{width:100%;height:100%;object-fit:cover;display:block}
.hth-body{display:flex;flex-direction:column;gap:3px;min-width:0;padding:12px}
.hth-name{font-weight:700;font-size:15px;color:var(--c-text)}
.hth-desc{font-size:12px;color:var(--c-muted);line-height:1.4}
.hth-from{font-size:12.5px;font-weight:700;color:var(--c-accent);margin-top:4px}
.hth-check{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;background:var(--c-accent);color:#fff;font-size:13px;display:none;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.hth-card.is-active .hth-check{display:flex}
.hth-compare{display:inline-block;margin-top:12px;font-size:12.5px;font-weight:600;color:var(--c-accent);text-decoration:none}
.hth-compare:hover{text-decoration:underline}
.hth-hint{display:none;margin-top:10px;font-size:12.5px;color:var(--c-accent);font-weight:700}
#inputSection.needs-house > *:not(.ht-hero):not(.calc-card-header){opacity:.4;pointer-events:none;filter:grayscale(.35)}
#inputSection.needs-house .hth-hint{display:block}
@media(max-width:560px){.hth-grid{grid-template-columns:1fr 1fr;gap:10px}.hth-ico,.hth-ico-img{height:140px}}
@media(max-width:380px){.hth-grid{grid-template-columns:1fr}.hth-ico,.hth-ico-img{height:190px}}

/* ===== панель сравнения: что сравнивается, добавить/убрать, что выбрано ===== */
/* align-items уже задан выше в .calc-cmp-head вместе с z-index и sticky */
.calc-cmp-head{align-items:flex-start}
.calc-cmp-subtitle{font-size:12px;color:var(--c-muted);margin-top:3px;font-weight:400;max-width:560px;line-height:1.4}
.calc-cmp-chips{display:flex;flex-wrap:wrap;gap:8px;padding:14px 18px 0}
.cmp-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1.5px solid var(--c-border);border-radius:50px;background:var(--c-surface);font-size:12px;font-weight:600;color:var(--c-muted);cursor:pointer;transition:.15s;font-family:inherit}
.cmp-chip:hover{border-color:var(--c-accent)}
.cmp-chip.on{background:var(--c-accent-lt);border-color:var(--c-accent);color:var(--c-accent)}
.cmp-chip.current{cursor:default;background:var(--c-green-lt);border-color:var(--c-green);color:var(--c-green)}
.cmp-chip .cmp-chip-box{font-size:13px}
.calc-cmp-count{padding:8px 18px 0;font-size:12px;color:var(--c-faint)}
.calc-cmp-col{position:relative}
.calc-cmp-col .ccc-remove{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;border:none;background:rgba(15,23,42,.55);color:#fff;font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2}
.calc-cmp-col .ccc-remove:hover{background:var(--c-red)}
.calc-cmp-col .ccc-badge{display:inline-block;font-size:11px;font-weight:700;color:#fff;background:var(--c-green);padding:3px 8px;border-radius:50px;align-self:flex-start}
.calc-cmp-col.is-current{border-color:var(--c-green);box-shadow:0 0 0 2px rgba(5,150,105,.18)}

.cb-wrap{display:flex;flex-direction:column;gap:16px}
.cb-card{border:1.5px solid var(--c-border);border-radius:var(--radius);background:var(--c-surface);padding:16px}
.cb-card h3{margin:0 0 12px;font-size:16px}
.cb-budget-inputs{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.cb-budget-inputs .fgroup{margin:0}
.cb-budget-inputs label{display:block;font-size:12px;color:var(--c-muted);margin-bottom:4px}
.cb-budget-inputs input,.cb-budget-inputs select{width:100%;padding:9px 10px;border:1.5px solid var(--c-border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit}
.cb-go{padding:10px 18px;border:none;background:var(--c-accent);color:#fff;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}
.cb-go:hover{filter:brightness(1.05)}
.cb-go.is-loading{opacity:.8;cursor:wait}
.cb-go-spin{display:inline-block;width:13px;height:13px;margin-right:8px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;vertical-align:-2px;animation:cbGoSpin .7s linear infinite}
@keyframes cbGoSpin{to{transform:rotate(360deg)}}
.cb-card{scroll-margin-top:80px}
.calc-actions-card{scroll-margin-top:80px}
.cb-card.cb-flash,.calc-card.cb-flash{animation:cbCardFlash 1.4s ease}
@keyframes cbCardFlash{0%{box-shadow:0 0 0 3px var(--c-accent)}100%{box-shadow:0 0 0 0 rgba(0,0,0,0)}}
@media(max-width:560px){.cb-budget-inputs{grid-template-columns:1fr 1fr}.cb-go{grid-column:1/3}}

.cb-scenarios{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.cb-scn{border:1.5px solid var(--c-border);border-radius:var(--radius);cursor:pointer;transition:var(--tr);background:var(--c-surface);overflow:hidden;display:flex;flex-direction:column}
.cb-scn:hover{border-color:var(--c-accent);box-shadow:var(--shadow-sm)}
.cb-scn.is-active{border-color:#b49a4a;box-shadow:0 0 0 2px rgba(180,154,74,.35);background:rgba(180,154,74,.24)}
.cb-scn.is-active .cbs-head{background:rgba(180,154,74,.38);color:#2d1f00}
.cb-scn.is-active .cbs-tag{color:#5a3e00;font-weight:900}
.cbs-img{width:100%;height:120px;object-fit:cover;display:block}
.cbs-img-ph{width:100%;height:80px;background:linear-gradient(135deg,#e0e7ff,#f0fdf4);display:flex;align-items:center;justify-content:center;font-size:28px}
.cbs-head{padding:10px 14px 8px;background:var(--c-surface-2,#f8fafc)}
.cb-scn .cbs-tag{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--c-accent);font-weight:800;margin-bottom:2px}
.cb-scn.is-active .cbs-tag{color:#5a3e00;font-weight:900}
.cbs-area-row{display:flex;align-items:baseline;gap:8px}
.cb-scn .cbs-area{font-size:22px;font-weight:800;color:var(--c-text)}
.cb-scn .cbs-total{font-size:13px;font-weight:700;color:var(--c-muted)}
.cb-scn.is-active .cbs-area{color:#1a1000 !important}
.cb-scn.is-active .cbs-total{color:#3d2e00 !important}
.cbs-body{padding:10px 14px;display:flex;flex-direction:column;gap:6px;flex:1}
.cbs-budget-bar{height:6px;background:var(--c-border);border-radius:3px;overflow:hidden;margin:2px 0 4px}
.cbs-budget-fill{height:100%;border-radius:3px;transition:width .5s}
.cbs-budget-fill.ok{background:var(--c-green)}
.cbs-budget-fill.close{background:#f59e0b}
.cbs-budget-fill.over{background:var(--c-red)}
.cb-scn .cbs-fit{font-size:11px;font-weight:600}
.cb-scn .cbs-fit.ok{color:var(--c-green)}
.cb-scn .cbs-fit.close{color:#d97706}
.cb-scn .cbs-fit.over{color:var(--c-red)}
.cb-scn.is-active .cbs-fit.ok{color:#166534 !important}
.cb-scn.is-active .cbs-fit.close{color:#92400e !important}
.cb-scn.is-active .cbs-fit.over{color:#991b1b !important}
.cbs-params{display:flex;flex-direction:column;gap:2px}
.cbs-param{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--c-text)}
.cbs-param-icon{width:16px;text-align:center;flex-shrink:0;font-size:12px}
.cbs-param-label{color:var(--c-muted);flex-shrink:0}
.cbs-param-val{font-weight:600}
.cb-scn.is-active .cbs-param{color:#2d1f00 !important}
.cb-scn.is-active .cbs-param-label{color:#5a3e00 !important}
.cb-scn.is-active .cbs-param-val{color:#1a1000 !important;font-weight:700 !important}
.cbs-param.is-out .cbs-param-icon{opacity:.45}
.cbs-param.is-out .cbs-param-val{color:var(--c-faint);font-weight:500}
.cbs-param-note{color:var(--c-faint);font-size:9.5px;margin-left:5px;white-space:nowrap}
.cb-scn.is-active .cbs-param.is-out .cbs-param-val{color:#8a7a4d !important;font-weight:500 !important}
.cb-scn.is-active .cbs-param.is-out .cbs-param-icon{opacity:.55}
.cb-scn.is-active .cbs-param-note{color:#8a7a4d !important}
.cbs-incl-tag{display:inline-block;font-size:10px;background:var(--c-surface-2,#f0fdf4);color:var(--c-green);border:1px solid #bbf7d0;border-radius:4px;padding:1px 6px;margin-top:4px;font-weight:600}
.cbs-choose{margin-top:auto;padding:8px 14px 10px;border-top:1px solid var(--c-border)}
.cb-scn.is-active .cbs-choose{border-top-color:rgba(180,154,74,.4)}
.cbs-choose-btn{width:100%;padding:8px;border:none;border-radius:var(--radius-sm);background:var(--c-accent);color:#fff;font-weight:700;font-size:13px;cursor:pointer;transition:.15s}
.cbs-choose-btn:hover{filter:brightness(1.08)}
.cb-scn.is-active .cbs-choose-btn{background:#8a7230 !important;color:#fff !important;border:none !important}
.cb-scn.is-active .cbs-choose-btn:hover{background:#6b5820 !important}

/* бюджет-бар */
.cb-bar{margin:4px 0 2px}
.cb-bar-track{height:14px;border-radius:50px;background:#e9eef5;overflow:hidden;position:relative}
.cb-bar-fill{height:100%;border-radius:50px;transition:width .3s,background .3s}
.cb-bar-fill.ok{background:var(--c-green)}
.cb-bar-fill.under{background:var(--c-accent)}
.cb-bar-fill.over{background:var(--c-red)}
.cb-bar-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--c-muted);margin-top:6px}
.cb-bar-status{font-weight:700}
.cb-bar-status.ok{color:var(--c-green)}
.cb-bar-status.under{color:var(--c-accent)}
.cb-bar-status.over{color:var(--c-red)}

/* строки сметы */
.cb-rows{display:flex;flex-direction:column;gap:8px}
.cb-row{display:grid;grid-template-columns:30px 1fr 130px auto;gap:10px;align-items:center;padding:8px;border:1px solid var(--c-border);border-radius:var(--radius-sm)}
.cb-row .cbr-lock{background:none;border:none;cursor:pointer;font-size:16px;opacity:.6}
.cb-row .cbr-lock.on{opacity:1}
.cb-row .cbr-name{font-size:13px;font-weight:600;color:var(--c-text)}
.cb-row .cbr-name small{display:block;font-weight:400;color:var(--c-faint);font-size:11px}
.cb-row select,.cb-row input{padding:7px 8px;border:1.5px solid var(--c-border);border-radius:var(--radius-sm);font-size:13px;font-family:inherit;width:100%}
.cb-row .cbr-hint{font-size:11px;color:var(--c-muted);white-space:nowrap;text-align:right;min-width:70px}
@media(max-width:560px){.cb-row{grid-template-columns:26px 1fr;grid-auto-rows:auto}.cb-row select,.cb-row input{grid-column:1/3}.cb-row .cbr-hint{grid-column:1/3;text-align:left}}

.cb-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}

/* спецопции участка — отдельная карточка, спокойная типографика, аккуратные строки-карточки */
.cb-opts{display:flex;flex-direction:column;gap:10px}
.cb-opts-head{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:4px}
.cb-opts-sum{font-size:14px;font-weight:800;color:var(--c-accent)}
.cb-opts-hint{font-size:12px;font-weight:500;color:var(--c-muted)}
.cb-opts-list{display:flex;flex-direction:column;gap:8px}
.cb-opt{
  display:grid;grid-template-columns:34px 1fr auto auto;align-items:center;gap:12px;
  padding:11px 14px;border:1.5px solid var(--c-border);border-radius:var(--radius-sm);
  background:var(--c-surface);cursor:pointer;transition:var(--tr);font-size:13px;
}
.cb-opt:hover{border-color:var(--c-accent);box-shadow:var(--shadow-sm)}
.cb-opt.on{border-color:var(--c-accent);background:var(--c-accent-lt)}
.cb-opt input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}
.cb-opt-ico{
  width:34px;height:34px;border-radius:9px;flex-shrink:0;font-size:16px;
  display:flex;align-items:center;justify-content:center;background:var(--c-surface-2,#f1f5f9);
}
.cb-opt.on .cb-opt-ico{background:var(--c-accent);filter:none}
/* спокойный регистр вместо КРИЧАЩЕГО КАПСА в исходных названиях */
.cb-opt-name{font-weight:600;color:var(--c-text);display:flex;flex-direction:column;line-height:1.3;min-width:0;text-transform:lowercase}
.cb-opt-name::first-letter{text-transform:uppercase}
.cb-opt-name small{font-weight:400;color:var(--c-muted);font-size:11.5px;text-transform:lowercase;white-space:normal}
.cb-opt-name small::first-letter{text-transform:uppercase}
.cb-opt-price{font-weight:700;color:var(--c-text);white-space:nowrap;text-align:right;font-size:13.5px}
.cb-opt.on .cb-opt-price{color:var(--c-accent)}
/* переключатель вместо голого чекбокса */
.cb-opt-toggle{position:relative;width:36px;height:21px;flex-shrink:0}
.cb-opt-toggle i{position:absolute;inset:0;border-radius:20px;background:#dbe2ea;transition:background .15s}
.cb-opt-toggle i::before{content:'';position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s}
.cb-opt input[type=checkbox]:checked + i{background:var(--c-accent)}
.cb-opt input[type=checkbox]:checked + i::before{transform:translateX(15px)}
.cb-opt-unit{grid-template-columns:34px 1fr auto auto;cursor:default}
.cb-opt-qty{display:inline-flex;align-items:center;gap:5px}
.cb-opt-qty input{width:60px;padding:6px 7px;border:1.5px solid var(--c-border);border-radius:7px;font-size:13px;font-family:inherit;text-align:right}
.cb-opt-qty i{font-style:normal;font-size:11px;color:var(--c-muted)}
.cb-opts-split{padding:11px 14px;border-top:1px dashed var(--c-border);font-size:12.5px;color:var(--c-muted);margin-top:2px}
.cb-opts-split b{color:var(--c-text);font-weight:700}
@media(max-width:560px){
  .cb-opt,.cb-opt-unit{grid-template-columns:30px 1fr auto;grid-auto-rows:auto;row-gap:8px;padding:11px 12px}
  .cb-opt-unit .cb-opt-qty{grid-column:1/4;justify-content:flex-start;padding-left:42px}
}


.cb-btn{padding:9px 14px;border:1.5px solid var(--c-border);background:var(--c-surface);color:var(--c-text);border-radius:var(--radius-sm);font-weight:600;font-size:13px;cursor:pointer;transition:var(--tr)}
.cb-btn:hover{border-color:var(--c-accent);color:var(--c-accent)}
.cb-btn.primary{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}
.cb-btn.primary:hover{color:#fff;filter:brightness(1.05)}
.cb-hint-tip{font-size:12px;color:var(--c-muted);padding:8px 12px;background:var(--c-accent-lt);border-radius:var(--radius-sm);margin-top:6px}

/* ===== бюджет: понятные пояснения (что входит, объём, доп.расходы) ===== */
.cb-card-sub{font-size:12px;color:var(--c-muted);margin:-4px 0 12px;line-height:1.45}
/* cbs-scope/incl moved to cbs-params */
.cb-explain .cb-incl-head{font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--c-muted);margin-bottom:6px}
.cb-explain .cb-incl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.cb-explain .cb-incl-list li{font-size:12.5px;line-height:1.4;padding-left:24px;position:relative;color:var(--c-text)}
.cb-explain .cb-incl-list li.in::before{content:'✓';position:absolute;left:2px;top:0;color:var(--c-green);font-weight:800}
.cb-explain .cb-incl-list li.out::before{content:'✕';position:absolute;left:2px;top:0;color:var(--c-red);font-weight:800}
.cb-explain-note{margin-top:12px;font-size:12px;color:var(--c-muted);background:var(--c-accent-lt);border-radius:var(--radius-sm);padding:9px 12px;line-height:1.45}
.cb-row .cbr-name small{display:block;font-weight:500;color:var(--c-accent);font-size:11px;margin-top:1px}

/* ===== бюджет: слайдер диапазона ===== */
.cb-slider-wrap{margin-bottom:6px}
.cb-slider-vals{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.cb-slider-vals b{font-size:19px;font-weight:800;color:var(--c-text)}
.cb-slider-vals .cb-slider-sep{color:var(--c-faint,var(--c-muted));font-weight:400;margin:0 6px;font-size:14px}
.cb-slider{position:relative;height:32px;margin:0 2px}
.cb-slider-track{position:absolute;top:50%;left:0;right:0;height:6px;transform:translateY(-50%);background:var(--c-border);border-radius:4px}
.cb-slider-fill{position:absolute;top:50%;height:6px;transform:translateY(-50%);background:linear-gradient(90deg,var(--c-accent),#8a6ad6);border-radius:4px}
.cb-slider input[type="range"]{position:absolute;top:0;left:0;width:100%;height:32px;margin:0;-webkit-appearance:none;appearance:none;background:transparent;pointer-events:none;z-index:2}
.cb-slider input[type="range"]::-webkit-slider-runnable-track{background:transparent;-webkit-appearance:none}
.cb-slider input[type="range"]::-moz-range-track{background:transparent;border:none}
.cb-slider input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;pointer-events:auto;width:22px;height:22px;border-radius:50%;
  background:#fff;border:3px solid var(--c-accent);box-shadow:0 1px 4px rgba(0,0,0,.25);
  cursor:grab;margin-top:5px;transition:transform .12s
}
.cb-slider input[type="range"]::-webkit-slider-thumb:hover{transform:scale(1.12)}
.cb-slider input[type="range"]::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.18)}
.cb-slider input[type="range"]::-moz-range-thumb{
  pointer-events:auto;width:22px;height:22px;border-radius:50%;background:#fff;
  border:3px solid var(--c-accent);box-shadow:0 1px 4px rgba(0,0,0,.25);cursor:grab
}
.cb-slider input[type="range"]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px rgba(37,99,235,.25),0 1px 4px rgba(0,0,0,.25)}
.cb-slider-marks{display:flex;justify-content:space-between;font-size:10.5px;color:var(--c-faint,var(--c-muted));margin-top:4px;padding:0 1px}

/* ===== бюджет: кнопки быстрых сумм ===== */
.cb-presets-label{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--c-muted);margin:16px 0 8px}
.cb-presets{display:flex;flex-wrap:wrap;gap:8px}
.cb-preset-btn{padding:7px 13px;border:1.5px solid var(--c-border);background:var(--c-surface);color:var(--c-text);
  border-radius:20px;font-size:12.5px;font-weight:600;cursor:pointer;transition:var(--tr);white-space:nowrap}
.cb-preset-btn:hover{border-color:var(--c-accent);color:var(--c-accent)}
.cb-preset-btn.is-active{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}
.cb-preset-btn.is-active:hover{color:#fff}
.cb-low-budget-note{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px 14px;
  background:#fff7ed;border:1.5px solid #fed7aa;border-radius:var(--radius-sm);font-size:12.5px;line-height:1.5;color:#7c2d12}
.cb-low-budget-note .lbn-ico{font-size:18px;line-height:1;flex-shrink:0}
@media(max-width:560px){.cb-slider-vals b{font-size:17px}.cb-presets{gap:6px}.cb-preset-btn{padding:6px 11px;font-size:12px}}

/* ===== бюджет: компании под этот дом и бюджет ===== */
.cb-comp-card{border:1.5px solid #c7d2fe;background:linear-gradient(180deg,#eef2ff 0,#fff 90px)}
.cb-comp-sub{font-size:12px;color:var(--c-muted);margin:2px 0 12px}
.cb-comp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.cb-comp{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1.5px solid var(--c-border);border-radius:var(--radius-sm);background:#fff;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}
.cb-comp:hover{border-color:#818cf8;box-shadow:0 2px 8px rgba(79,70,229,.12)}
.cb-comp-logo{width:40px;height:40px;border-radius:8px;object-fit:cover;background:#f1f5f9;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:16px}
.cb-comp-name{font-size:13px;font-weight:600;line-height:1.25}
.cb-comp-name .vrf{color:#2563eb;font-size:11px;margin-left:3px}
.cb-comp-price{font-size:12px;color:var(--c-muted);margin-top:2px}
.cb-comp-more{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:13px;font-weight:600;color:#4f46e5;text-decoration:none}
.cb-comp-more:hover{text-decoration:underline}

/* ===== бюджет: интерактивный обозреватель всех вариантов ===== */
.cb-all-variants{margin-top:6px}

/* панель фильтров — единый блок, чётко отделённый от списка результатов ниже */
.cb-av-filterpanel{background:var(--c-surface-2,#f8fafc);border:1.5px solid var(--c-border);border-radius:var(--radius);padding:16px;margin-bottom:18px}
.cb-av-fgroup{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--c-border)}
.cb-av-fgroup:last-child{padding-bottom:0;margin-bottom:0;border-bottom:none}
.cb-av-fglabel{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--c-muted);margin-bottom:9px}
@media(max-width:560px){.cb-av-filterpanel{padding:12px}}

/* табы комплектации */
.cb-av-tabs{display:flex;flex-wrap:wrap;gap:4px;background:var(--c-surface,#fff);padding:4px;border-radius:12px}
.cb-av-tab{flex:1 1 auto;min-width:88px;display:flex;align-items:center;justify-content:center;gap:7px;
  padding:9px 12px;border:none;background:transparent;color:var(--c-muted);font-size:13px;font-weight:700;
  border-radius:9px;cursor:pointer;transition:var(--tr);white-space:nowrap}
.cb-av-tab:hover{color:var(--c-text);background:rgba(0,0,0,.03)}
.cb-av-tab.is-active{background:var(--c-surface);color:var(--c-accent);box-shadow:var(--shadow-sm)}
.cb-av-tab-cnt{font-size:11px;font-weight:800;background:rgba(0,0,0,.06);color:var(--c-muted);
  padding:1px 7px;border-radius:10px;min-width:20px;text-align:center}
.cb-av-tab.is-active .cb-av-tab-cnt{background:var(--c-accent);color:#fff}

/* чипы материала */
.cb-av-chiprow{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.cb-av-chip{padding:5px 11px;border:1.5px solid var(--c-border);background:var(--c-surface);color:var(--c-text);
  border-radius:16px;font-size:12.5px;font-weight:600;cursor:pointer;transition:var(--tr);white-space:nowrap}
.cb-av-chip:hover{border-color:var(--c-accent);color:var(--c-accent)}
.cb-av-chip.is-active{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}
.cb-av-chip.is-active:hover{color:#fff}

/* тулбар: сортировка + фильтр «только в бюджете» */
.cb-av-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.cb-av-sort{display:flex;align-items:center;gap:8px}
.cb-av-sort select{padding:6px 9px;border:1.5px solid var(--c-border);border-radius:var(--radius-sm);font-size:13px;font-family:inherit;background:var(--c-surface);cursor:pointer}
.cb-av-fitonly{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--c-text);cursor:pointer;user-select:none;background:var(--c-surface);border:1.5px solid var(--c-border);border-radius:var(--radius-sm);padding:6px 11px}
.cb-av-fitonly:has(input:checked){border-color:var(--c-accent);color:var(--c-accent);background:var(--c-accent-lt)}
.cb-av-fitonly input{width:15px;height:15px;cursor:pointer}

/* секции (в режиме «Все») */
.cb-av-body{display:flex;flex-direction:column;gap:12px}
.cb-av-section{display:flex;flex-direction:column;gap:14px}
.cb-av-section-head{display:flex;align-items:baseline;gap:9px;padding-bottom:8px;border-bottom:2px solid var(--c-accent)}
.cb-av-section-ico{font-size:18px}
.cb-av-section-name{font-size:16px;font-weight:800;color:var(--c-text)}
.cb-av-section-scope{font-size:12px;color:var(--c-muted)}
.cb-av-scope-top{margin-bottom:14px;font-size:13px;color:var(--c-muted)}
/* сворачиваемые секции в режиме «Все» */
.cb-av-foldable{display:block;border:1.5px solid var(--c-border);border-radius:var(--radius);overflow:hidden;background:var(--c-surface)}
.cb-av-foldable>.cb-av-section-head{display:flex;align-items:center;gap:9px;padding:12px 14px;margin:0;border-bottom:none;cursor:pointer;list-style:none;user-select:none;background:var(--c-surface-2,#f8fafc)}
.cb-av-foldable>.cb-av-section-head::-webkit-details-marker{display:none}
.cb-av-foldable>.cb-av-section-head::before{content:'▸';color:var(--c-accent);font-size:13px;transition:transform .15s;flex-shrink:0}
.cb-av-foldable[open]>.cb-av-section-head{border-bottom:1px solid var(--c-border)}
.cb-av-foldable[open]>.cb-av-section-head::before{transform:rotate(90deg)}
.cb-av-section-badge{margin-left:auto;font-size:10.5px;font-weight:800;color:var(--c-muted);background:rgba(0,0,0,.05);padding:2px 9px;border-radius:10px;flex-shrink:0}
.cb-av-section-body{display:flex;flex-direction:column;gap:14px;padding:14px}

/* кластер по материалу */
.cb-av-cluster{display:flex;flex-direction:column;gap:8px;border:1.5px solid var(--c-border);border-radius:var(--radius);overflow:hidden;background:var(--c-surface)}
.cb-av-cluster-head{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#d2e1ef;border-bottom:1px solid var(--c-border)}
.cb-av-cluster-thumb{width:54px;height:42px;border-radius:8px;background-size:cover;background-position:center;background-color:#eef2f7;flex-shrink:0}
.cb-av-cluster-thumb-ph{display:flex;align-items:center;justify-content:center;font-size:22px;background:linear-gradient(135deg,#e0e7ff,#f0fdf4)}
.cb-av-cluster-titles{display:flex;flex-direction:column;gap:1px;min-width:0}
.cb-av-cluster-mat{font-size:15px;font-weight:800;color:var(--c-text);display:flex;align-items:center;gap:8px}
.cb-av-cluster-cnt{font-size:10.5px;font-weight:700;color:var(--c-accent);background:var(--c-accent-lt);padding:1px 8px;border-radius:10px}
.cb-av-cluster-meta{font-size:12px;font-weight:600;color:var(--c-muted)}

/* переключатель уровня отделки (профиля) */
.cb-av-profrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.cb-av-profseg{display:inline-flex;background:var(--c-surface-2,#f1f5f9);padding:3px;border-radius:10px;gap:2px}
.cb-av-prof-btn{display:flex;align-items:center;gap:6px;padding:6px 13px;border:none;background:transparent;
  color:var(--c-muted);font-size:13px;font-weight:700;border-radius:7px;cursor:pointer;transition:var(--tr);white-space:nowrap}
.cb-av-prof-btn:hover{color:var(--c-text)}
.cb-av-prof-btn.is-active{background:var(--c-surface);color:var(--c-accent);box-shadow:var(--shadow-sm)}
.cb-av-prof-ico{font-size:14px}
.cb-av-prof-hint{font-size:11.5px;color:var(--c-muted)}

/* строки-размеры внутри кластера */
.cb-av-rows{display:flex;flex-direction:column}
.cb-av-row{display:grid;grid-template-columns:130px 1fr 1.4fr 1.2fr 92px;gap:12px;align-items:center;
  padding:11px 14px;cursor:pointer;transition:background .12s;border-top:1px solid var(--c-border)}
.cb-av-rows .cb-av-row:first-child{border-top:none}
.cb-av-row:hover{background:var(--c-accent-lt)}
.cb-av-row.is-active{background:rgba(180,154,74,.16)}
.cb-av-row-tag{font-size:13px;font-weight:700;color:var(--c-muted)}
.cb-av-row-area{font-size:19px;font-weight:800;color:var(--c-text);white-space:nowrap}
.cb-av-row-area small{font-size:12px;font-weight:600;color:var(--c-muted)}
.cb-av-row-price{font-size:16px;font-weight:800;color:var(--c-text);white-space:nowrap}
.cb-av-row-fit{font-size:12px;font-weight:700;white-space:nowrap}
.cb-av-row-fit.ok{color:var(--c-green)}
.cb-av-row-fit.close{color:#d97706}
.cb-av-row-fit.over{color:var(--c-red)}
.cb-av-row-go{font-size:12px;font-weight:700;color:var(--c-accent);text-align:right;opacity:0;transition:opacity .12s}
.cb-av-row:hover .cb-av-row-go{opacity:1}
.cb-av-row-mark{font-size:12px;font-weight:800;color:#8a7230;text-align:right;white-space:nowrap}
.cb-av-row.is-active .cb-av-row-area,.cb-av-row.is-active .cb-av-row-price,.cb-av-row.is-active .cb-av-row-tag{color:#1a1000}
.cb-av-empty{padding:24px;text-align:center;color:var(--c-muted);font-size:13px}
@media(max-width:640px){
  .cb-av-row{grid-template-columns:1fr auto;grid-auto-rows:auto;row-gap:4px;column-gap:10px;padding:10px 12px}
  .cb-av-row-tag{grid-column:1;grid-row:1}
  .cb-av-row-fit{grid-column:2;grid-row:1;text-align:right}
  .cb-av-row-area{grid-column:1;grid-row:2;font-size:17px}
  .cb-av-row-price{grid-column:2;grid-row:2;text-align:right}
  .cb-av-row-go,.cb-av-row-mark{display:none}
}
@media(max-width:560px){
  .cb-av-tab{flex:1 1 40%;min-width:0}
  .cb-av-tab-cnt{display:none}
}
