/* ECM-TUNING — каталог прошивок (структура AVK, палитра store). Скоуп .ecm-catalog. */
.ecm-catalog{
  --cream:#F0ECDC; --cream-2:#e9e3cf; --cream-3:#e2dbc4; --cream-line:#ddd5bd;
  --ink:#252324; --ink-soft:#6f6858; --ink-mute:#918a78;
  --on-dark:#F0ECDC; --on-dark-soft:#b3ac9c; --on-dark-mute:#8b8577;
  --accent:#da1f3a; --accent-h:#ec2f4b; --accent-p:#b81a30; --accent-soft:rgba(218,31,58,.12);
  --efont:"Poppins","Lato",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --emono:"JetBrains Mono","Roboto Mono",Consolas,"Liberation Mono",monospace;
  max-width:1320px;margin:0 auto;padding:26px 20px 70px;color:var(--on-dark);
  font-family:"Lato",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:15px;line-height:1.55;
}
.ecm-catalog *{box-sizing:border-box}
.ecm-catalog a{text-decoration:none;color:inherit}
.ecm-catalog .tnum{font-variant-numeric:tabular-nums}
.ecm-catalog .emono{font-family:var(--emono)}

.ecm-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:24px}
.ecm-catalog h1.ecm-title{font-family:var(--efont);font-size:32px;font-weight:700;margin:0 0 9px;letter-spacing:-.01em;color:var(--on-dark)}
.ecm-crumbs{color:var(--on-dark-mute);font-size:13.5px}
.ecm-crumbs a:hover{color:var(--accent)}
.ecm-crumbs .sep{opacity:.5;margin:0 6px}
.ecm-crumbs .cur{color:var(--on-dark-soft)}

.ecm-search{display:flex;align-items:center;min-width:340px;background:var(--cream);border:1px solid var(--cream-line);border-radius:10px;overflow:hidden}
.ecm-search input{flex:1;background:transparent;border:0;color:var(--ink);padding:12px 15px;font-size:14.5px;outline:none}
.ecm-search input::placeholder{color:var(--ink-mute)}
.ecm-search button{background:var(--accent);border:0;color:#fff;padding:0 17px;align-self:stretch;cursor:pointer;font-size:16px;line-height:1}
.ecm-search button:hover{background:var(--accent-h)}

.ecm-layout{display:grid;grid-template-columns:304px 1fr;gap:24px;align-items:start}

/* sidebar */
.ecm-catsel{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--accent);border:0;border-radius:10px;padding:14px 16px;color:#fff;font-weight:600;font-size:15px;margin-bottom:14px;font-family:var(--efont)}
.ecm-tree{display:flex;flex-direction:column;gap:8px}
.ecm-brand{background:var(--cream);border:1px solid var(--cream-line);border-radius:10px;overflow:hidden}
.ecm-brand>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:13px 16px;cursor:pointer;font-size:14.5px;color:var(--ink)}
.ecm-brand>summary::-webkit-details-marker{display:none}
.ecm-brand>summary .ct{color:var(--ink-mute);font-size:13px}
.ecm-brand>summary .chev{color:var(--ink-mute);transition:transform .18s;margin-left:10px}
.ecm-brand[open]{background:var(--cream-2)}
.ecm-brand[open]>summary .nm{color:var(--accent);font-weight:700}
.ecm-brand[open]>summary .chev{transform:rotate(180deg);color:var(--accent)}
.ecm-brand:hover{border-color:#cfc6ac}
.ecm-kids{display:flex;flex-direction:column;border-top:1px solid var(--cream-line);max-height:340px;overflow:auto}
.ecm-kids a{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 10px 26px;color:var(--ink-soft);font-size:13.5px;border-bottom:1px solid rgba(37,35,36,.06)}
.ecm-kids a:last-child{border-bottom:0}
.ecm-kids a:hover{color:var(--ink);background:var(--cream-3)}
.ecm-kids a.on{color:var(--accent);font-weight:600}
.ecm-kids a .ct{color:var(--ink-mute);font-size:12.5px}

/* main panels */
.ecm-panel{background:var(--cream);border:1px solid var(--cream-line);border-radius:12px;color:var(--ink)}
.ecm-panel+.ecm-panel{margin-top:16px}
.ecm-panel h2{font-family:var(--efont);font-size:19px;margin:0;padding:19px 22px;border-bottom:1px solid var(--cream-line);font-weight:600;color:var(--ink)}

/* table */
.ecm-tablewrap{overflow-x:auto}
table.ecm-fw{width:100%;border-collapse:collapse;font-size:13.5px}
table.ecm-fw th{text-align:left;color:var(--ink-mute);font-weight:700;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;padding:12px 16px;border-bottom:1px solid var(--cream-line);background:var(--cream-2)}
table.ecm-fw td{padding:12px 16px;border-bottom:1px solid var(--cream-line);color:var(--ink-soft);vertical-align:middle}
table.ecm-fw tr:hover td{background:var(--cream-2)}
table.ecm-fw td.id{font-family:var(--emono);color:var(--ink)}
table.ecm-fw td.model b{color:var(--ink);font-weight:700}
.ecm-chip{display:inline-block;font-size:11.5px;padding:2px 9px;border-radius:20px;border:1px solid #cfc6ac;color:var(--ink-soft);margin:0 4px 4px 0;white-space:nowrap}
.ecm-chip.mod{border-color:rgba(218,31,58,.45);color:var(--accent-p)}
.ecm-chip.file{border-color:rgba(30,140,60,.5);color:#1e7d3c}

.ecm-btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:9px 16px;font-size:13.5px;font-weight:600;cursor:pointer;transition:background .15s}
.ecm-btn:hover{background:var(--accent-h);color:#fff}
.ecm-btn.ghost{background:transparent;border:1px solid #cbc2a8;color:var(--ink)}
.ecm-btn.ghost:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.ecm-btn.sm{padding:7px 13px;font-size:12.5px}

/* feed */
.ecm-feed{padding:6px 22px 22px}
.ecm-feed .fw{color:var(--ink-soft);font-size:13.5px;line-height:1.95}
.ecm-feed .fw b{color:var(--ink);font-weight:600}
.ecm-feed .fw a:hover{color:var(--accent)}
.ecm-hint{padding:16px 22px;color:var(--ink-soft);font-size:13.5px}

/* card */
.ecm-vers{padding:22px}
.ecm-vers .vt{font-size:16px;color:var(--ink);margin:0 0 14px;font-weight:600;line-height:1.5}
.ecm-vers .vt .mod{color:var(--accent-p)}
.ecm-vers .lead{color:var(--ink-soft);font-size:14px;margin:0 0 16px}
.ecm-specs{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:0 0 14px;font-size:13.5px}
.ecm-specs dt{color:var(--ink-mute)}
.ecm-specs dd{margin:0;color:var(--ink);font-family:var(--emono)}

.ecm-empty{padding:40px 22px;text-align:center;color:var(--ink-soft)}

@media (max-width:900px){
  .ecm-layout{grid-template-columns:1fr}
  .ecm-search{min-width:0;width:100%}
  .ecm-catalog h1.ecm-title{font-size:25px}
}
.ecm-catalog :focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.ecm-catalog *{transition:none!important}}
