:root{
  --bg:#0f1216; --card:#151a20; --text:#e9eef5; --muted:#aeb6c2;
  --accent:#ffcc33; --accent-2:#2fbf71; --danger:#ff6b6b;
  --link:#5aa9ff; --border:#22303f; --shadow:0 6px 24px rgba(0,0,0,.25);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);
  font-family:system-ui,Segoe UI,Roboto,Inter,Arial,sans-serif;line-height:1.6}
img{max-width:100%;height:auto;display:block;border-radius:8px}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(1100px,92%);margin:0 auto}
.header{position:sticky;top:0;z-index:50;background:rgba(15,18,22,.9);
  backdrop-filter:saturate(140%) blur(6px);border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{display:flex;gap:10px;align-items:center}
.logo{width:36px;height:36px;border-radius:8px;display:block}
.menu{display:flex;gap:18px;flex-wrap:wrap}
.menu a{padding:8px 10px;border-radius:6px}
.menu a.cta{background:var(--accent);color:#131313;font-weight:700}
.menu a.cta:hover{filter:brightness(.95);text-decoration:none}
.hero{padding:42px 0 28px}
.hero .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:center}
.hero h1{font-size:clamp(24px,4vw,42px);line-height:1.15;margin:0 0 10px}
.hero p{color:var(--muted);margin:0 0 16px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;
  padding:12px 16px;border-radius:8px;font-weight:600;text-decoration:none}
.btn.primary{background:var(--accent);color:#121212}
.btn.secondary{background:var(--card);color:var(--text);border:1px solid var(--border)}
.btn.danger{background:var(--danger);color:#fff}
.section{padding:28px 0}
.cards{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;box-shadow:var(--shadow)}
.card h3{margin:10px 0 6px}
.price{font-weight:800;color:var(--accent-2)}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.footer{margin-top:24px;padding:22px 0;border-top:1px solid var(--border);color:var(--muted)}
.footer a{color:var(--muted)}
.notice{background:#0b1a10;border:1px solid #1d3b2a;color:#cbead8;padding:12px 14px;border-radius:10px}
.table{width:100%;border-collapse:collapse;margin:8px 0 4px}
.table th,.table td{border-bottom:1px solid var(--border);padding:10px 8px;text-align:left}
.badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:.85rem;background:#22303f;color:#cfe2ff}
form{display:grid;gap:12px}
.input,textarea{width:100%;padding:12px 14px;border-radius:8px;border:1px solid var(--border);
  background:#0e141b;color:var(--text)}
textarea{min-height:140px;resize:vertical}
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;background:var(--card);
  border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:14px}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.center{min-height:60vh;display:grid;place-items:center;text-align:center}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}}
@media (max-width:600px){.menu{gap:10px}.cards{grid-template-columns:1fr}}
.card-media{
  margin:0 0 10px 0;
  border-radius:10px;
  overflow:hidden;
  border:1px solid var(--border);
  background:#0e141b;
}
.card-media img{
  display:block;
  width:100%;
  height:auto;           /* браузер рассчитает по width/height атрибутам */
  object-fit: cover;     /* если изображения одного соотношения — красиво заполнят блок */
  aspect-ratio: 4 / 3;   /* фиксируем визуальный слот под 800x600 */
}
/* Компактные карточки в 3 колонки, чтобы влезали в экран */
.cards--compact{ 
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.cards--compact .card{
  padding: 12px;
}

/* Уменьшаем визуальную высоту медиа и типографику */
.card-media{
  margin: 0 0 8px 0;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--border);
  background: #0e141b;
}
.card-media img{
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  /* более плоское соотношение: 3:2 вместо 4:3, уменьшит высоту */
  aspect-ratio: 3 / 2;
}

.cards--compact .card h3{
  margin: 6px 0 4px;
  font-size: 1rem;
  line-height: 1.25;
}
.cards--compact .card .price{
  font-size: 0.95rem;
}
.cards--compact .card p{
  margin: 6px 0;
  font-size: 0.95rem;
  color: var(--muted);
}
.cards--compact .btn{
  padding: 8px 12px;
  font-size: 0.95rem;
}

/* На очень узких экранах оставим 1–2 колонки */
@media (max-width: 900px){
  .cards--compact{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px){
  .cards--compact{ grid-template-columns: 1fr; }
}
