:root{
  --bg:#0e0f11; --panel:#16181c; --panel-2:#1c1f24; --line:#262a30;
  --text:#e7e9ec; --muted:#8b929c; --accent:#5b8cff; --accent-soft:#1e2740;
  --mark:#3a4a1f; --mark-text:#e9f2d8; --active-text:#ffffff; --topbar:rgba(14,15,17,.9); --right-bg:#111317; --radius:10px;
}
:root[data-theme="light"]{
  --bg:#f7f8fa; --panel:#ffffff; --panel-2:#eef1f5; --line:#dde2e9;
  --text:#1c2027; --muted:#69707c; --accent:#3b6ae0; --accent-soft:#e3ebff;
  --mark:#fff2a8; --mark-text:#4a3f00; --active-text:#1c2027; --topbar:rgba(247,248,250,.92); --right-bg:#fbfcfe;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--text);
  font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;
  -webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
mark{background:var(--mark);color:var(--mark-text);border-radius:3px;padding:0 2px}
.muted{color:var(--muted)}
.small{font-size:13px}

.app{display:grid;grid-template-columns:268px 1fr;min-height:100vh}

/* ── Sidebar ─────────────────────────────────────────── */
.side{background:var(--panel);border-right:1px solid var(--line);
  display:flex;flex-direction:column;padding:16px 10px;position:sticky;top:0;height:100vh}
.brand{font-weight:700;font-size:18px;letter-spacing:.4px;padding:4px 10px 10px;color:var(--text);
  display:flex;align-items:center;gap:9px}
.brand-logo{border-radius:7px;flex:none}
.theme-btn{margin-left:auto;background:none;border:1px solid var(--line);color:var(--muted);
  width:28px;height:28px;border-radius:7px;cursor:pointer;font-size:14px;line-height:1}
.theme-btn:hover{color:var(--accent);border-color:var(--accent)}

/* Фильтр меню */
.menu-filter{position:relative;padding:0 4px 10px}
.menu-filter input{width:100%;background:var(--panel-2);border:1px solid var(--line);color:var(--text);
  padding:7px 11px;border-radius:8px;font-size:13px;outline:none}
.menu-filter input:focus{border-color:var(--accent)}
.menu-filter-results{margin-top:6px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);overflow:hidden}
.mf-cap{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);padding:7px 10px 3px}
.mf-item{display:block;padding:6px 10px;font-size:13px;color:var(--text)}
.mf-item:hover{background:var(--accent-soft)}
.menu{display:flex;flex-direction:column;gap:1px;overflow:auto;flex:1}

.menu-item{position:relative;display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:7px;
  color:var(--muted);font-size:13.5px}
.menu-item:hover{background:var(--panel-2);color:var(--text)}
.menu-item.active{background:var(--accent-soft);color:var(--active-text)}
.menu-item.active::before{content:'';position:absolute;left:0;top:7px;bottom:7px;width:3px;
  border-radius:3px;background:var(--accent)}
.menu-item.home{margin-bottom:8px;color:var(--text);font-weight:500}
.mi-ico{width:18px;text-align:center;font-size:13px;opacity:.85}
.mi-label{flex:1}
.mi-count{font-size:11px;color:var(--muted);background:var(--panel-2);border-radius:20px;padding:1px 7px}

.group{margin-top:6px}
.group-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;
  background:none;border:0;cursor:pointer;padding:7px 10px 5px;color:var(--muted);
  font:600 10.5px/1.35 inherit;letter-spacing:1.1px;text-transform:uppercase;font-family:inherit;text-align:left}
.group-head:hover{color:var(--text)}
.g-chev{transition:transform .18s;opacity:.7}
.group:not(.open) .g-chev{transform:rotate(-90deg)}
.group-body{display:none;flex-direction:column;gap:1px;padding:2px 0 4px}
.group.open .group-body{display:flex}
.submenu{display:flex;flex-direction:column;gap:1px;margin:1px 0 4px 26px;border-left:1px solid var(--line);padding-left:8px}
.submenu-item{font-size:12.5px;color:var(--muted);padding:4px 8px;border-radius:6px}
.submenu-item:hover{color:var(--text);background:var(--panel-2)}
.submenu-item.active{color:var(--accent);background:var(--accent-soft)}
.submenu.closed{display:none}

.side-foot{padding:12px 10px 4px;border-top:1px solid var(--line);margin-top:8px}
.role-label{font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
.role-switch{display:flex;flex-direction:column;gap:3px;margin-top:8px}
.role-switch a{font-size:13px;padding:6px 9px;border-radius:7px;color:var(--muted)}
.role-switch a:hover{background:var(--panel-2)}
.role-switch a.on{background:var(--accent-soft);color:var(--active-text)}

/* ── Main / topbar ───────────────────────────────────── */
.main{display:flex;flex-direction:column;min-width:0}
.topbar{position:sticky;top:0;z-index:20;background:var(--topbar);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);padding:12px 24px}
.search{display:flex;gap:10px;max-width:820px;margin:0 auto}
.search-wrap{position:relative;flex:1}
.search-ico{position:absolute;left:14px;top:50%;transform:translateY(-50%);opacity:.6;font-size:14px}
.search-input{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--text);
  padding:12px 16px 12px 40px;border-radius:var(--radius);font-size:15px;outline:none}
.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.search-btn{background:var(--accent);color:#fff;border:0;padding:0 20px;border-radius:var(--radius);
  font-size:14px;font-weight:600;cursor:pointer}
.search-btn:hover{filter:brightness(1.08)}

/* Suggest dropdown */
.suggest{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--panel);
  border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 40px rgba(0,0,0,.5);
  overflow:hidden;z-index:30;max-height:70vh;overflow-y:auto}
.sg-cap{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);padding:10px 14px 4px}
.sg-sec,.sg-item,.sg-all{display:flex;align-items:center;gap:10px;padding:9px 14px;color:var(--text)}
.sg-sec{justify-content:space-between}
.sg-sec:hover,.sg-item:hover,.sg-all:hover{background:var(--panel-2)}
.sg-cnt{font-size:12px;color:var(--muted);background:var(--panel-2);border-radius:20px;padding:1px 8px}
.sg-ico{width:20px;text-align:center}
.sg-txt{display:flex;flex-direction:column;line-height:1.3}
.sg-txt b{font-weight:600;font-size:14px}
.sg-sub{font-size:12px;color:var(--muted)}
.sg-all{border-top:1px solid var(--line);color:var(--accent);font-weight:600;font-size:13.5px}
.sg-empty{padding:14px;color:var(--muted);font-size:13.5px}

/* Body columns */
.body-cols{display:grid;grid-template-columns:1fr 260px;gap:0;flex:1}
.content{padding:28px 28px;max-width:860px;margin:0 auto;width:100%}
.right{border-left:1px solid var(--line);padding:24px 18px;background:var(--right-bg)}
.rp-block{margin-bottom:24px}
.rp-h{font-size:12px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);margin:0 0 10px;font-weight:600}
.rp-note{font-size:13px;color:var(--muted);margin:0}
.rp-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.rp-list a{font-size:13.5px;color:var(--text);display:flex;justify-content:space-between;gap:8px}
.rp-list a:hover{color:var(--accent)}
.rp-count{font-size:12px;color:var(--muted)}
.rp-toc{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px;border-left:2px solid var(--line)}
.rp-toc a{font-size:13px;color:var(--muted);padding-left:12px;display:block}
.rp-toc a:hover{color:var(--accent)}
.rp-helpful{display:flex;gap:8px}

/* ── Content ─────────────────────────────────────────── */
.hero{text-align:center;padding:22px 0 8px}
.hero h1{font-size:28px;margin:0 0 6px}

/* Главная — поиск по центру, как у Google */
.hero-google{padding:64px 0 34px;display:flex;flex-direction:column;align-items:center;gap:26px}
.hero-brand{display:flex;align-items:center;gap:14px}
.hero-brand svg{border-radius:12px}
.hero-brand h1{font-size:40px;margin:0;letter-spacing:.5px}
.hero-search{width:100%;max-width:620px;display:flex;flex-direction:column;gap:16px}
.hero-input{padding:15px 18px 15px 46px !important;font-size:16px !important;border-radius:26px !important;
  box-shadow:0 4px 18px rgba(0,0,0,.18)}
.hero-search .search-ico{left:17px}
.hero-actions{display:flex;justify-content:center;gap:10px;position:relative;z-index:40}
.home-cols{grid-template-columns:1fr !important}
.home-cols .right{display:none}

/* Прямой ответ (карточка «лучший ответ») */
.answer-card{display:block;background:var(--panel);border:1px solid var(--accent);border-radius:14px;
  padding:18px 20px;margin:6px 0 22px;box-shadow:0 4px 20px var(--accent-soft);transition:.15s}
.answer-card:hover{transform:translateY(-1px);box-shadow:0 8px 26px var(--accent-soft)}
.answer-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;
  color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:3px 9px;margin-bottom:8px}
.answer-title{font-size:19px;font-weight:700;margin-bottom:6px}
.answer-text{color:var(--muted);font-size:14.5px;line-height:1.55}
.answer-meta{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}
.answer-open{margin-left:auto;color:var(--accent);font-weight:600;font-size:13.5px}
.did-you-mean{font-size:13.5px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:0 0 14px}
.did-you-mean a{color:var(--accent)}

/* AI-ответ в поиске (RAG) */
.ai-panel{
  position:relative;background:var(--panel);border:1px solid var(--line);border-radius:14px;
  margin:14px 0 22px;overflow:hidden;box-shadow:0 6px 28px rgba(0,0,0,.14)
}
:root[data-theme="light"] .ai-panel{box-shadow:0 6px 28px rgba(30,40,70,.07)}
.ai-panel-accent{height:3px;background:linear-gradient(90deg,var(--accent) 0%,color-mix(in srgb,var(--accent) 35%,transparent) 55%,transparent 100%)}
.ai-panel-head{display:flex;gap:14px;align-items:flex-start;padding:16px 18px 0}
.ai-panel-icon{
  flex:none;width:38px;height:38px;border-radius:10px;background:var(--accent-soft);color:var(--accent);
  display:flex;align-items:center;justify-content:center
}
.ai-panel-intro{min-width:0}
.ai-panel-title{margin:0;font-size:16px;font-weight:700;line-height:1.3;color:var(--text)}
.ai-panel-hint{margin:4px 0 0;font-size:13px;line-height:1.45;color:var(--muted)}
.ai-panel-body{padding:14px 18px 16px;font-size:15px}
.ai-panel-body .rich-p{font-size:15px;line-height:1.6;margin-bottom:10px}
.ai-panel-body .rich-p:last-child{margin-bottom:0}
.ai-panel-body .rich-li{font-size:14.5px;margin:6px 0}
.ai-panel-body .rich-h{font-size:13.5px;margin:12px 0 6px;color:var(--accent)}

.ai-panel--loading .ai-panel-accent{
  background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 50%,transparent),var(--accent));
  background-size:200% 100%;animation:ai-accent-shift 1.8s ease-in-out infinite
}
@keyframes ai-accent-shift{0%{background-position:100% 0}100%{background-position:-100% 0}}

.ai-panel-loader{
  display:flex;align-items:center;gap:14px;padding:6px 0;color:var(--muted)
}
.ai-panel-spinner{
  flex:none;width:22px;height:22px;border-radius:50%;
  border:2.5px solid color-mix(in srgb,var(--accent) 20%,var(--line));
  border-top-color:var(--accent);animation:ai-spin .75s linear infinite
}
@keyframes ai-spin{to{transform:rotate(360deg)}}
.ai-panel-loader-text{margin:0;font-size:14px;line-height:1.45}

.ai-panel--error .ai-panel-body{color:var(--muted)}
.ai-panel--error .ai-panel-accent{background:color-mix(in srgb,var(--warn,#c98) 55%,transparent)}

.empty--soft{margin-top:8px;opacity:.92}

.ai-sources{border-top:1px solid var(--line);padding:0 18px;background:var(--panel-2)}
.ai-sources-summary{
  display:flex;align-items:center;gap:8px;padding:12px 0;cursor:pointer;
  font-size:13px;font-weight:600;color:var(--muted);list-style:none;user-select:none
}
.ai-sources-summary::-webkit-details-marker{display:none}
.ai-sources-summary::after{
  content:'';width:7px;height:7px;margin-left:auto;border-right:2px solid var(--muted);
  border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .18s
}
.ai-sources[open] .ai-sources-summary::after{transform:rotate(-135deg);margin-top:4px}
.ai-sources-count{
  font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-soft);
  border-radius:20px;padding:2px 8px;line-height:1.4
}
.ai-source-list{list-style:none;padding:0 0 14px;margin:0;display:flex;flex-direction:column;gap:8px}
.ai-source-item{
  display:flex;align-items:flex-start;gap:10px;padding:10px 12px;
  background:var(--panel);border:1px solid var(--line);border-radius:10px;transition:border-color .15s
}
.ai-source-item:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.ai-source-idx{
  flex:none;font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-soft);
  border-radius:6px;padding:3px 7px;line-height:1.2;margin-top:1px
}
.ai-source-main{min-width:0;flex:1}
.ai-source-title{display:block;font-weight:600;font-size:14px;line-height:1.35;color:var(--text)}
.ai-source-title:hover{color:var(--accent)}
.ai-source-snippet{margin:4px 0 0;font-size:12.5px;line-height:1.45;color:var(--muted)}

.search-divider{
  display:flex;align-items:center;gap:12px;margin:4px 0 16px;color:var(--muted);font-size:12px;
  font-weight:600;letter-spacing:.6px;text-transform:uppercase
}
.search-divider::before,.search-divider::after{
  content:'';flex:1;height:1px;background:var(--line)
}

/* Умный ответ по базе знаний (разбор «позиция + атрибут», FTS) */
.kb-smart{display:block;background:linear-gradient(180deg,var(--accent-soft),var(--panel));
  border:1px solid var(--accent);border-radius:14px;padding:16px 20px;margin:6px 0 14px;
  box-shadow:0 4px 20px var(--accent-soft);transition:.15s}
.kb-smart:hover{transform:translateY(-1px);box-shadow:0 8px 26px var(--accent-soft)}
.kb-smart-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;
  letter-spacing:.6px;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.kb-smart-ico{font-size:13px}
.kb-smart-body{font-size:17px;line-height:1.5;color:var(--text)}
.kb-smart-body b{font-weight:700}
.kb-smart-src{margin-top:10px;font-size:12.5px;color:var(--muted)}

/* Таблица характеристик «Ключ: значение» */
.spec-table{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:4px 0 10px}
.spec-row{display:grid;grid-template-columns:minmax(140px,34%) 1fr;gap:0;border-top:1px solid var(--line)}
.spec-row:first-child{border-top:0}
.spec-k{padding:9px 14px;background:var(--panel-2);color:var(--muted);font-size:13.5px;font-weight:600}
.spec-v{padding:9px 14px;font-size:14px}
.rich-p{margin:0 0 8px;line-height:1.6}
.rich-li{position:relative;padding-left:18px;margin:3px 0;line-height:1.55}
.rich-li::before{content:'';position:absolute;left:4px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--accent)}
.price{color:#2e9e5b;font-weight:700;white-space:nowrap}
:root[data-theme="light"] .price{color:#1a8347}
:root[data-theme="light"] .price{color:#1a8347}
.warn{display:block;background:rgba(224,120,60,.1);border-left:3px solid #e0783c;border-radius:0 8px 8px 0;
  padding:8px 12px;margin:4px 0;font-weight:500}

/* Аккордеон вопрос-ответ */
.qa-list{display:flex;flex-direction:column;gap:8px;margin:4px 0}
.qa{border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}
.qa[open]{border-color:var(--accent)}
.qa-q{list-style:none;cursor:pointer;padding:13px 16px;font-weight:600;font-size:14.5px;
  display:flex;align-items:center;gap:10px;user-select:none}
.qa-q::-webkit-details-marker{display:none}
.qa-q:hover{color:var(--accent)}
.qa-ico{margin-left:auto;color:var(--muted);transition:transform .18s;font-size:12px}
.qa[open] .qa-ico{transform:rotate(180deg);color:var(--accent)}
.qa-a{padding:0 16px 14px;color:var(--text);border-top:1px solid var(--line);padding-top:12px}
.qa-a .rich-p,.qa-a .rich-li{font-size:14px}

/* Карусель */
.carousel{position:relative;height:340px;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:radial-gradient(120% 120% at 50% 0,var(--panel-2),var(--panel))}
.car-track{display:flex;height:100%;transition:transform .32s ease}
.car-slide{position:relative;flex:0 0 100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center}
.car-img{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:18px;cursor:zoom-in}
.car-img img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;filter:drop-shadow(0 10px 30px rgba(0,0,0,.28))}
:root[data-theme="light"] .car-img img{filter:drop-shadow(0 10px 30px rgba(30,40,70,.18))}
.car-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;
  background:rgba(20,22,26,.62);backdrop-filter:blur(6px);color:#fff;border:0;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;opacity:0;transition:.15s}
.carousel:hover .car-nav{opacity:1}
.car-nav:hover{background:rgba(0,0,0,.75)}
.car-nav.prev{left:10px}.car-nav.next{right:10px}
.car-counter{position:absolute;top:10px;right:12px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;padding:3px 9px;border-radius:20px;z-index:2}
.car-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:6px;z-index:2}
.car-dot{width:7px;height:7px;border-radius:50%;border:0;background:rgba(255,255,255,.45);cursor:pointer;padding:0}
.car-dot.on{background:#fff;width:20px;border-radius:4px}
.car-thumbs{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap;align-items:flex-start}
.thumb-wrap{position:relative;width:72px}
.car-thumb{width:72px;height:54px;border-radius:9px;overflow:hidden;border:2px solid transparent;background:var(--panel);cursor:pointer;padding:0;display:block;transition:.15s}
.car-thumb img{width:100%;height:100%;object-fit:cover}
.car-thumb.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.thumb-ctl{position:absolute;top:2px;left:2px;right:2px;display:flex;justify-content:space-between;opacity:0;transition:.15s}
.thumb-wrap:hover .thumb-ctl{opacity:1}
.tc{width:19px;height:19px;border-radius:5px;background:rgba(20,22,26,.82);color:#fff;font-size:12px;
  display:flex;align-items:center;justify-content:center;line-height:1}
.tc:hover{background:var(--accent)}
.tc.del:hover{background:#c0392b}
.thumb-badge{position:absolute;bottom:2px;left:2px;font-size:9px;background:var(--accent);color:#fff;padding:1px 5px;border-radius:4px;letter-spacing:.3px}
.thumb-hint{font-size:12px;color:var(--muted);margin:8px 0 0}
.car-thumb.g-add{display:flex;align-items:center;justify-content:center;color:var(--muted);border:1px dashed var(--line);width:auto;padding:0 12px;font-size:12px;position:relative}
.car-thumb.g-add input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}

.media-side{display:flex;flex-direction:column;gap:12px}
.side-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}
.side-h{margin:0 0 10px;font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-weight:600}
.fact{display:flex;flex-direction:column;gap:3px;padding:9px 0;border-top:1px solid var(--line)}
.fact:first-of-type{border-top:0;padding-top:2px}
.fact-k{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}
.fact-v{font-size:14.5px;font-weight:600;line-height:1.35}
.price-fact{display:block;color:var(--text);font-size:13px;line-height:1.5;border-top:1px solid var(--line);margin-top:4px;padding-top:10px}
.side-more{display:inline-block;margin-top:10px;font-size:13px;color:var(--accent);font-weight:600}
.side-media-edit input[type=url]{width:100%;background:var(--panel-2);border:1px solid var(--line);color:var(--text);padding:8px 11px;border-radius:8px;font-size:13px;outline:none;margin-bottom:8px}
.side-media-edit input[type=url]:focus{border-color:var(--accent)}
.side-media-edit .v-row{display:flex;gap:8px}
.side-media-edit .v-upload{position:relative;overflow:hidden}
.side-media-edit .v-upload input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}

/* Видео широким блоком */
.video-full{position:relative;width:100%;max-width:720px;aspect-ratio:16/9;margin:0 0 18px;border-radius:var(--radius);overflow:hidden;background:#000;border:1px solid var(--line)}
.video-full iframe,.video-full video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:contain}
.video-full .video-link{display:flex;align-items:center;justify-content:center;height:100%;color:var(--accent);font-weight:600}

/* Характеристики — компактный минималистичный блок */
.spec-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:2px 0 16px}
.spec-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:2px}
.spec-card-title{margin:0;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
.copy-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;
  background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:8px;cursor:pointer;transition:.12s}
.copy-btn:hover{color:var(--accent);border-color:var(--accent)}
.copy-btn.copied{background:#2e9e5b;border-color:#2e9e5b;color:#fff}
.copy-btn svg{flex:none;width:15px;height:15px}
.copy-btn.copied svg{display:none}
.copy-btn.copied::after{content:'✓';font-size:14px;font-weight:700}
.spec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:0 24px}
.spec-item{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid var(--line)}
.spec-item-k{font-size:12.5px;color:var(--muted)}
.spec-item-v{font-size:13px;font-weight:600;text-align:right}
.spec-price{display:flex;align-items:flex-start;gap:8px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.5}
.spec-price-txt{flex:1}
.spec-price-ico{flex:none;width:22px;height:22px;border-radius:6px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.spec-all{display:inline-block;margin-top:9px;font-size:12.5px;color:var(--accent);font-weight:600}

/* Кнопка копирования в блоках вкладок — тоже компактная */
.doc-block-head .copy-btn{width:30px;height:30px;padding:0}

/* Заглушка галереи без фото */
.media-row.no-photo .gallery{min-height:280px}
.g-placeholder{height:100%;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  border-radius:14px;border:1px solid var(--line);background:radial-gradient(120% 120% at 50% 0,var(--panel-2),var(--panel))}
.gp-ico{font-size:52px;opacity:.9;filter:drop-shadow(0 6px 16px rgba(0,0,0,.15))}
.gp-name{font-size:15px;font-weight:600;color:var(--muted);text-align:center;padding:0 16px}
.gp-note{font-size:12.5px;color:var(--muted)}
.gp-add{position:relative;overflow:hidden}
.gp-add input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}

/* Документы в панели справа */
.side-doc{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;margin-bottom:8px;color:var(--text);transition:.15s}
.side-doc:last-child{margin-bottom:0}
.side-doc:hover{border-color:var(--accent);background:var(--accent-soft)}
.side-doc-ico{font-size:18px;flex:none}
.side-doc-name{flex:1;font-size:13px;font-weight:500;line-height:1.3}
.side-doc-dl{color:var(--accent);font-weight:700}

/* Компактный редактор медиа (сворачиваемый) */
.side-media-edit{cursor:default}
.side-h-sum{list-style:none;cursor:pointer;margin:0;display:flex;align-items:center;gap:6px}
.side-h-sum::-webkit-details-marker{display:none}
.side-media-edit[open] .side-h-sum{margin-bottom:12px}
.side-edit-body{display:flex;flex-direction:column;gap:8px}
.side-edit-body input[type=url]{width:100%;background:var(--panel-2);border:1px solid var(--line);color:var(--text);padding:8px 11px;border-radius:8px;font-size:13px;outline:none}
.side-edit-body input[type=url]:focus{border-color:var(--accent)}
.block-btn{position:relative;overflow:hidden;text-align:center;justify-content:center}
.block-btn input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}
.side-edit-body .v-row{display:flex;gap:8px}
.side-edit-body .v-upload{position:relative;overflow:hidden}
.side-edit-body .v-upload input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}

.rich-h{margin:14px 0 6px;font-size:13.5px;font-weight:700;color:var(--text)}
.doc-body .rich-h:first-child{margin-top:0}
.rich-link{color:var(--accent);border-bottom:1px dashed var(--accent)}
.rich-link:hover{border-bottom-style:solid}
.h-sec{font-size:12.5px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:26px 0 12px;font-weight:600}
.h-count{color:var(--muted);font-weight:400;margin-left:4px}
.page-h{font-size:23px;margin:0 0 4px}
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}

.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:15px;display:flex;flex-direction:column;gap:4px;transition:.15s}
.tile:hover{border-color:var(--accent);transform:translateY(-1px)}
.tile-ico{font-size:22px}
.tile-name{font-weight:600;font-size:14.5px}
.tile-desc{font-size:12px;color:var(--muted)}

.cols{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}
.list li{padding:9px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}
.list a:hover{color:var(--accent)}

/* Подкатегории-якоря */
.subcats{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.subcat{font-size:13px;background:var(--panel);border:1px solid var(--line);border-radius:20px;
  padding:6px 13px;color:var(--text)}
.subcat b{color:var(--accent);font-weight:600;margin-left:2px}
.subcat.on{background:var(--accent);border-color:var(--accent);color:#fff}
.subcat.on b{color:#fff}
.subcat.dim{color:var(--muted);opacity:.6}
.subcat:hover{border-color:var(--accent)}

/* Карточки товаров в разделе */
.pgroup{scroll-margin-top:80px}
.pcards{display:flex;flex-direction:column;gap:8px}
.pcard{display:flex;gap:14px;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--radius);padding:12px;transition:.15s}
.pcard:hover{border-color:var(--accent);transform:translateY(-1px)}
.pcard-thumb{flex:none;width:86px;height:64px;border-radius:8px;background:var(--panel-2);
  border:1px dashed var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-size:20px;gap:1px}
.pcard-thumb-note{font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.pcard-thumb.has-img{border-style:solid;padding:0;overflow:hidden}
.pcard-thumb.has-img img{width:100%;height:100%;object-fit:cover}
.pcard-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.pcard-name{font-weight:600;font-size:15px}
.pcard:hover .pcard-name{color:var(--accent)}
.pcard-sizes{font-size:12.5px;color:var(--accent)}
.pcard-sum{font-size:13px;color:var(--muted)}

/* Медиа-строка карточки: галерея + видео */
.media-row{display:grid;grid-template-columns:1fr 280px;gap:16px;margin:6px 0 18px;align-items:start}
.media-row.no-photo{grid-template-columns:1fr 280px}
.gallery{display:flex;flex-direction:column;gap:8px}
.g-main{height:200px;border-radius:var(--radius);background:var(--panel);border:1px dashed var(--line);
  display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:34px;gap:8px}
.g-note{font-size:12.5px;color:var(--muted);text-align:center;line-height:1.4}
.g-note small{font-size:11px;opacity:.75}
.g-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.g-thumb{height:56px;border-radius:8px;background:var(--panel);border:1px dashed var(--line);
  display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);font-size:16px;line-height:1}
.g-thumb span{font-size:10px;margin-top:2px}
.video-slot{border-radius:var(--radius);overflow:hidden;background:var(--panel);border:1px solid var(--line);min-height:200px;display:flex}
.video-slot iframe{width:100%;height:100%;min-height:264px;border:0}
.video-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  color:var(--muted);font-size:26px;border:1px dashed var(--line);border-radius:var(--radius);margin:0}
.video-empty span{font-size:12.5px;text-align:center;line-height:1.4}
.video-link{flex:1;display:flex;align-items:center;justify-content:center;color:var(--accent);font-weight:600}
.g-main.has-img{border-style:solid;padding:0;overflow:hidden;background:#0a0b0d;cursor:zoom-in}
.g-main.has-img img{width:100%;height:100%;object-fit:contain}
.g-add{cursor:pointer;position:relative}
.g-add input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}
.g-add:hover{border-color:var(--accent)}
.video-add{flex:1;display:flex;flex-direction:column;gap:10px;align-items:stretch;justify-content:center;padding:18px;border:1px dashed var(--line);border-radius:var(--radius)}
.v-cap{font-size:13px;color:var(--muted);text-align:center}
.video-add input[type=url]{background:var(--panel-2);border:1px solid var(--line);color:var(--text);padding:9px 12px;border-radius:8px;font-size:13px;outline:none}
.video-add input[type=url]:focus{border-color:var(--accent)}
.v-row{display:flex;gap:8px;justify-content:center}
.v-upload{position:relative;overflow:hidden}
.v-upload input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}
.lb-overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;cursor:zoom-out}
.lb-overlay[hidden]{display:none!important}
.lb-overlay img{max-width:94vw;max-height:92vh;object-fit:contain;border-radius:6px}
.lb-close{position:fixed;top:16px;right:22px;color:#fff;font-size:22px;cursor:pointer;opacity:.8}
.g-thumb.has-img{border-style:solid;padding:0;overflow:hidden}
.g-thumb.has-img img{width:100%;height:100%;object-fit:cover}
.video-slot video{width:100%;height:100%;min-height:200px;object-fit:cover;background:#000}
.doc-files{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 16px}
.doc-file{font-size:13px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px 12px;color:var(--text)}
.doc-file:hover{border-color:var(--accent);color:var(--accent)}

/* Вкладки карточки */
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:4px 0 0;overflow-x:auto}
.tab{background:none;border:0;color:var(--muted);font:600 13.5px/1 inherit;font-family:inherit;
  padding:11px 14px;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.tab:hover{color:var(--text)}
.tab.on{color:var(--accent);border-bottom-color:var(--accent)}
.tab-panel{display:none;padding-top:4px}
.tab-panel.on{display:block}

.results{list-style:none;padding:0;margin:12px 0;display:flex;flex-direction:column;gap:2px}
.result{padding:13px 15px;border:1px solid transparent;border-radius:var(--radius)}
.result:hover{background:var(--panel);border-color:var(--line)}
.result-title{font-size:15.5px;font-weight:600}
.result:hover .result-title{color:var(--accent)}
.result-meta{display:flex;align-items:center;gap:10px;margin-top:5px;flex-wrap:wrap}
.result-snip{margin-top:7px;color:var(--muted);font-size:14px}
.chip{font-size:12px;background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:2px 8px;color:var(--muted)}
.chip.type{background:var(--accent-soft);color:var(--accent);border-color:transparent}
.chip.pid{font-variant-numeric:tabular-nums;font-weight:600}

.sgroup{margin-bottom:22px}
.sgroup-head{display:flex;justify-content:space-between;align-items:center;
  border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:4px}
.sgroup-title{font-weight:600;font-size:14px}
.sgroup-jump{font-size:13px;color:var(--accent)}

.back-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);
  border:1px solid var(--line);border-radius:8px;padding:5px 12px;margin-bottom:14px;background:var(--panel)}
.back-btn:hover{color:var(--accent);border-color:var(--accent)}

.crumbs{font-size:13px;color:var(--muted);margin-bottom:14px}
.crumbs a:hover{color:var(--accent)}

.doc{margin:8px 0 20px}
.doc-block{padding:16px 0;border-top:1px solid var(--line);scroll-margin-top:80px}
.tab-panel .doc-block:first-child{border-top:0}
.doc-block h3{margin:0 0 8px;font-size:12.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--accent)}
.doc-block-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.doc-block-head h3{margin:0}
.doc-block-head + .doc-body{margin-top:8px}
.doc-body{white-space:normal}

.btn{background:var(--accent);color:#fff;border:0;padding:9px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:inline-block}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}
.btn.ghost:hover{border-color:var(--accent)}
.btn.sm{padding:6px 11px;font-size:13px}
.empty{text-align:center;padding:44px 20px;color:var(--muted)}
.empty a{color:var(--accent)}

.editor{display:flex;flex-direction:column;gap:14px;max-width:680px}
.editor label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}
.editor input,.editor textarea,.editor select{background:var(--panel);border:1px solid var(--line);
  color:var(--text);padding:10px 12px;border-radius:8px;font-size:14px;font-family:inherit;outline:none}
.editor input:focus,.editor textarea:focus,.editor select:focus{border-color:var(--accent)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.editor-actions{display:flex;gap:10px;margin-top:6px}
.editor .hint{font-size:12px;color:var(--muted);font-weight:400}
.media-manage{display:flex;flex-direction:column;gap:8px}
.media-list{display:flex;flex-wrap:wrap;gap:8px}
.media-item{position:relative;width:84px;height:64px;border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--panel)}
.media-item img{width:100%;height:100%;object-fit:cover}
.media-item.file{width:auto;height:auto;padding:8px 30px 8px 10px;font-size:12.5px;color:var(--text)}
.media-del{position:absolute;top:2px;right:2px;background:rgba(0,0,0,.55);color:#fff;border-radius:5px;
  width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:11px}
.media-del:hover{background:#c0392b}

/* Burger (mobile) */
.burger{display:none;position:fixed;top:10px;left:10px;z-index:50;background:var(--panel);
  border:1px solid var(--line);color:var(--text);width:40px;height:40px;border-radius:8px;font-size:18px;cursor:pointer}

@media(max-width:1100px){
  .body-cols{grid-template-columns:1fr}
  .right{display:none}
  .media-row,.media-row.no-photo{grid-template-columns:1fr}
}
@media(max-width:820px){
  .app{grid-template-columns:1fr}
  .burger{display:block}
  .side{position:fixed;left:-290px;top:0;width:272px;z-index:40;transition:left .2s;box-shadow:0 0 40px rgba(0,0,0,.5)}
  body.nav-open .side{left:0}
  .topbar{padding-left:60px}
  .cols,.grid2{grid-template-columns:1fr}
  .content{padding:20px 16px}
  .pcard-thumb{width:64px;height:52px}
  .ai-panel-head{padding:14px 14px 0}
  .ai-panel-body,.ai-sources{padding-left:14px;padding-right:14px}
  .ai-panel-icon{width:34px;height:34px}
}
