:root{
  --bg:#0b0b0d; --panel:#141416; --line:#2a2a2e;
  --text:#f2f2f2; --muted:#a8a8ae;
  --yellow:#ffd91a; --yellow-ink:#16130a;
  --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Montserrat',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.4}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
em{font-style:italic;color:var(--yellow)}
:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
.container{max-width:1680px;margin:0 auto;padding:0 28px}

/* Верхняя полоса */
.topbar{border-bottom:1px solid var(--line);font-size:14px}
.topbar__in{display:flex;justify-content:space-between;align-items:center;height:42px}
.topbar__list,.topbar__right{display:flex;align-items:center;gap:28px}
.topbar__list li{display:flex;align-items:center;gap:10px}
.topbar img,.icon-btn img{width:22px;height:22px}
.lang{display:flex;align-items:center;gap:6px}
.lang img{width:14px;height:14px}
.cart{position:relative}
.cart__count{position:absolute;top:-8px;right:-10px;min-width:18px;height:18px;border-radius:9px;
  background:var(--yellow);color:var(--yellow-ink);font-size:11px;font-weight:800;display:grid;place-items:center}

/* Шапка */
.header__in{display:flex;align-items:center;gap:36px;padding-top:22px;padding-bottom:22px}
.logo{display:flex;align-items:center;gap:14px;width:290px;flex-shrink:0}
.logo__icon{width:66px;height:66px}
.logo__text b{display:block;font-size:44px;font-weight:800;font-style:italic;letter-spacing:-1.5px;line-height:1}
.logo__text small{font-size:14px;color:var(--muted)}
.search{flex:1;display:flex;align-items:center;gap:12px;height:58px;padding:0 20px;
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
.search img{width:24px;height:24px}
.search input{flex:1;background:none;border:0;color:var(--text);font:inherit;font-size:16px;outline:0}
.search:focus-within{border-color:var(--yellow)}

/* Кнопки */
.btn{display:inline-flex;align-items:center;gap:12px;height:58px;padding:0 28px;border-radius:var(--radius);
  font-weight:600;font-size:17px;transition:transform .15s,background .15s}
.btn img{width:22px;height:22px}
.btn--outline{border:2px solid var(--yellow);color:var(--yellow)}
.btn--outline:hover{background:var(--yellow);color:var(--yellow-ink)}
.btn--yellow{background:var(--yellow);color:var(--yellow-ink)}
.btn--yellow:hover{transform:translateY(-2px)}
.btn--block{display:flex;justify-content:center;width:100%;height:52px}

/* Сетка страницы */
.layout{display:grid;grid-template-columns:296px 1fr 300px;grid-template-areas:"side hero hero" "side top ready";gap:20px;padding-bottom:48px}
.side{grid-area:side}.hero{grid-area:hero}.top{grid-area:top}.ready{grid-area:ready}

/* Боковое меню */
.side nav{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 0}
.side__link{display:flex;align-items:center;gap:16px;padding:14px 22px;font-size:15px;transition:background .15s}
.side__link:hover{background:#1d1d20}
.side__link img{width:28px;height:28px}
.side__link span{flex:1}
.side img.side__arrow{width:14px;height:14px;opacity:.7}
.side__promo{display:flex;align-items:center;gap:14px;margin-top:14px;padding:14px 18px;font-size:15px;
  color:var(--yellow);background:#1b1806;border:1px solid var(--yellow);border-radius:var(--radius)}
.side__promo b{display:block;color:var(--text)}
.side__promo img{width:44px;height:44px}
.side__promo span{flex:1}
.side__promo img:last-child{width:16px;height:16px}

/* Hero */
.hero{min-height:560px;border-radius:var(--radius);overflow:hidden;position:relative;display:flex;align-items:center;
  background:linear-gradient(90deg,rgba(11,11,13,.9) 0%,rgba(11,11,13,.45) 55%,transparent 100%),url('../../img/hero.jpg') center/cover,var(--panel)}
.hero__body{padding:40px 48px;max-width:760px}
.hero__brand{font-size:clamp(64px,8vw,116px);font-weight:800;font-style:italic;letter-spacing:-4px;line-height:1}
.hero__title{margin:14px 0 18px;font-size:clamp(30px,3.4vw,50px);font-weight:800;font-style:italic;line-height:1.1}
.hero__text{font-size:20px;color:var(--muted);margin-bottom:34px}
.hero__row{display:flex;align-items:center;gap:36px;flex-wrap:wrap}
.benefits{display:flex;gap:28px}
.benefits li{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--muted)}
.benefits img{width:36px;height:36px}
.benefits b{display:block;color:var(--text);font-weight:600}

/* Топ товары */
.top__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}
.top h2,.ready h2{font-size:34px;font-weight:800;font-style:italic;letter-spacing:-1px}
.link{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:15px}
.link img{width:14px;height:14px}
.products{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.card{position:relative;display:flex;flex-direction:column;min-height:200px;padding:14px;
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
.card__img{width:100%;height:120px;object-fit:contain;margin:18px 0 10px}
.card__name{font-size:14px;font-weight:500;flex:1}
.card__foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.card__price{font-weight:800;font-size:17px}
.add{width:46px;height:38px;display:grid;place-items:center;background:var(--yellow);border-radius:10px;transition:transform .15s}
.add img{width:22px;height:22px}
.add:hover{transform:scale(1.06)}
.add.is-added{transform:scale(.9)}
.badge{position:absolute;top:12px;right:12px;padding:3px 12px;border-radius:8px;font-size:12px;font-weight:600}
.badge--hit{background:#16341f;color:#5be08a}
.badge--popular{background:#4b2fb5}
.badge--top{background:#16341f;color:#5be08a}

/* Блок сценариев */
.ready{padding:26px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
.ready h2{font-size:26px;margin-bottom:18px}
.ready li{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:15px}
.ready li img{width:24px;height:24px}
.ready .btn{margin-top:14px}

.footer{border-top:1px solid var(--line);padding:24px 0;color:var(--muted);font-size:14px}

/* Планшет и телефон */
@media (max-width:1280px){
  .layout{grid-template-columns:260px 1fr;grid-template-areas:"side hero" "top top" "ready ready"}
  .products{grid-template-columns:repeat(3,1fr)}
  .topbar__list li:nth-child(n+2){display:none}
}
@media (max-width:820px){
  .container{padding:0 16px}
  .layout{grid-template-columns:1fr;grid-template-areas:"hero" "side" "top" "ready"}
  .side{display:none}.side.is-open{display:block}
  .header__in{flex-wrap:wrap;gap:14px}
  .logo{width:auto}.logo__icon{width:48px;height:48px}.logo__text b{font-size:32px}
  .search{order:3;flex-basis:100%}
  .btn--outline{margin-left:auto;height:50px}
  .hero{min-height:460px}.hero__body{padding:28px 22px}
  .benefits{flex-wrap:wrap;gap:16px}
  .products{grid-template-columns:repeat(2,1fr)}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* Карточка товара кликабельна целиком, кнопка «в кошик» остаётся поверх */
.card__link{position:absolute;inset:0;z-index:1;border-radius:var(--radius)}
.card .add{position:relative;z-index:2}
.card .badge{z-index:2}
.top__empty{padding:40px 0;color:var(--muted)}

/* Иконки категорий в боковом меню главной (SVG) */
.side__link .side__ico{flex:0 0 38px;display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border-radius:10px;background:#1f1f22;color:var(--yellow);
  transition:background .15s,color .15s}
.side__ico .ic,.side__ico .ic-img{width:22px;height:22px;font-size:22px}
.side__link:hover .side__ico{background:var(--yellow);color:var(--yellow-ink)}
.side .ic.side__arrow{width:16px;height:16px;font-size:16px;opacity:.5;transition:.15s}
.side__link:hover .side__arrow{opacity:1;color:var(--yellow);transform:translateX(2px)}
.side__promo .ic.side__go{width:18px;height:18px;font-size:18px;color:var(--yellow)}
