/* ===== Dark base ===== */
:root{
  --bg:#0b0f1a;
  --panel:#0f1626;
  --card:#0f1a2a;
  --text:#e9eef7;
  --muted:#9aa4b2;
  --brand:#7cffe3;
  --accent:#2c5bff;
  --ok:#14aa57;
  --warn:#ffcc00;
  --danger:#ff4d4d;
  --border:#1c2a40;
  --highlight:#121c31;
  --shadow:0 10px 24px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.02);
  --radius:16px;
  --radius-sm:12px;
}
*{box-sizing:border-box}

body{
  margin:0;
  font-family: Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial;
  color:var(--text);
  background:
    radial-gradient(1200px 700px at 12% -10%, #142033 0%, transparent 55%),
    radial-gradient(900px 600px at 110% -20%, #0f223f 0%, transparent 55%),
    var(--bg);
  line-height:1.55;
}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{color:var(--text); margin:14px 0}
h1{font-size:22px;text-align:center}

/* ===== Header ===== */
.site-header{
  background: linear-gradient(180deg, #0f1930 0%, #0b1426 100%);
  border-bottom:1px solid var(--border);
  padding-bottom:10px;
  box-shadow: var(--shadow);
}
.header-top{
  margin:auto; max-width:1024px;
  display:grid; align-items:center; justify-content:space-between;
  gap:14px; padding:12px 16px; color:var(--muted);
}
.header-top .logo img{width:170px;height:auto;display:block}

/* ===== Floating TG button (из index inline-стилей можно убрать, если хочешь держать всё в CSS) */
.tg-fab{
  position:fixed; top:14px; right:14px; width:44px; height:44px; border-radius:999px;
  background: rgba(34,158,217,.18); backdrop-filter: blur(6px);
  border:1px solid rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center;
  z-index:1000; box-shadow: var(--shadow); transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.tg-fab:hover{ transform:translateY(-1px); background: rgba(34,158,217,.26); border-color: rgba(255,255,255,.22) }
.tg-fab img{ width:22px; height:22px; display:block; filter: drop-shadow(0 1px 2px rgba(0,0,0,.35)) }

/* ===== Telegram banner ===== */
.telegram-block{
  display:flex; align-items:center; justify-content:space-between;
  background:var(--panel); border:1px solid var(--border);
  border-radius:12px; padding:14px 18px; max-width:1024px; margin:20px auto;
  box-shadow:var(--shadow); color:var(--text);
}
.telegram-block p{font-size:17px;font-weight:600;margin:0;padding-right:12px}
.telegram-block img{width:40px;height:40px;transition:transform .2s ease}
.telegram-block:hover img{transform:scale(1.06)}
@media (max-width:480px){
  .telegram-block{flex-direction:column;text-align:center;max-width:92%}
  .telegram-block p{padding-right:0;margin-bottom:10px}
}

/* ===== Main alignment ===== */
main{max-width:1024px;margin:0 auto;padding:0 12px}

/* ===== Offers grid ===== */
.offers-grid{
  margin: 8px auto 16px;
  display:grid; grid-template-columns: repeat(auto-fit,minmax(360px,1fr));
  gap:20px;
}

/* ===== Compact card ===== */
.offer-card{
  position:relative; display:flex; flex-direction:column; gap:10px;
  padding:12px; border-radius:16px; background: var(--card);
  border:1px solid var(--border); box-shadow: var(--shadow); overflow:hidden;
}
.offer-card.compact{ padding:12px }

/* header row: title left + logo right */
.offer-top{
  display:grid; grid-template-columns: 1fr auto; gap:10px; align-items:start;
}
.offer-title{
  margin:0; font-size:16px; font-weight:700; letter-spacing:.2px;
}
.discount-pill{
  display:inline-flex; align-items:center; gap:6px;
  margin-top:6px; font-size:12px; padding:3px 8px; border-radius:999px;
  background: rgba(255,90,90,.12); color:#fff; border:1px solid rgba(255,90,90,.35);
}
.logo-chip{
  display:flex; align-items:center; justify-content:center;
  padding:5px; border-radius:14px;
  /* светлый фон под лого */
  background: linear-gradient(180deg, #ffffff 0%, #eef4ff 100%);
  border:1px solid rgba(0,0,0,.08);
  box-shadow: 0 6px 16px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.5);
}
.logo-chip img{ width:100px; height:auto; display:block }

/* KV rows — компактнее */
.kv{ display:flex; flex-direction:column; gap:6px }
.kv.slim .kv-row{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  background:var(--highlight); border:1px solid var(--border); border-radius:10px; padding:6px 8px;
}
.kv-label{ font-size:12px; color:var(--muted) }
.kv-value{ font-size:14px; text-align: end;}
.hl{ background:#213b7a; color:#fff; padding:0 .35em; border-radius:6px }

/* кнопки */

.menu-btn {
    margin-left: 10px;
    display: block;
    background: #226234;
    color: var(--text);
    border: 1px solid #a2c5af;
    padding: 8px 10px;
    border-radius: 12px;
    cursor: pointer;
}


.btn-primary, .offer-btn{
  display:block; width:100%; text-align:center;
  background:linear-gradient(180deg, #18b968 0%, #0f8a4e 100%); color:#fff;
  border:none; border-radius:12px; padding:10px 14px; font-weight:700;
  box-shadow: var(--shadow); cursor:pointer; transition: transform .12s ease, filter .12s ease;
}
.btn-primary:hover{ transform: translateY(-1px); filter: brightness(1.03) }

.details-btn{
        margin-left: 10px;
  display:block; width:30%; background:#0b1527; color:var(--text);
  border:1px solid var(--border); padding:8px 10px; border-radius:12px; cursor:pointer;
}
.details-btn:hover{ background:#0f1f3a }

/* детали и заметка */
.details-content{
  display:none; margin-top:8px; border-top:1px dashed var(--border);
  padding-top:8px; font-size:13px; color:var(--muted);
}
.details-content .links a{ color:var(--brand) }
.details-content .links .sep{ color:var(--muted); margin:0 6px }
.details-content .legal{ margin-top:8px; color:var(--text) }

.offer-note{
  margin-top:6px; font-size:12px; color:var(--muted);
  border-top:1px solid var(--border); padding-top:6px;
}

/* подсветки карточки */
.offer-card.highlighted{
    background: radial-gradient(500px 160px at 80% -20%, rgb(224 124 255 / 63%), #00000000 60%), #2f2654;
}
.offer-card.bordered{
  border:2px solid transparent;
  background:
    linear-gradient(var(--card), var(--card)) padding-box,
    linear-gradient(45deg, #ff6ec4, #ffcc00, #2c5bff, #00f0ff) border-box;
  animation: borderMove 6s ease infinite;
}
@keyframes borderMove{
  0%{ background:
    linear-gradient(var(--card), var(--card)) padding-box,
    linear-gradient(45deg, #ff6ec4, #ffcc00, #2c5bff, #00f0ff) border-box; }
  50%{ background:
    linear-gradient(var(--card), var(--card)) padding-box,
    linear-gradient(225deg, #ff6ec4, #ffcc00, #2c5bff, #00f0ff) border-box; }
  100%{ background:
    linear-gradient(var(--card), var(--card)) padding-box,
    linear-gradient(45deg, #ff6ec4, #ffcc00, #2c5bff, #00f0ff) border-box; }
}

/* ===== SEO/префутер — тёмный блок с читабельным текстом ===== */
.prefooter{
  padding:20px;
  max-width:1024px;
  margin: 20px auto 32px;
  font-size:14px;
  background: var(--panel);
  color: var(--text);
  border:1px solid var(--border);
  border-radius:12px;
  box-shadow: var(--shadow);
}
.prefooter h4{ margin:12px 0 6px }

/* ===== Footer ===== */
.site-footer{
  background: linear-gradient(180deg, #0b1426 0%, #0a1120 100%);
  color:#fff; text-align:center; padding:20px 10px; font-size:14px;
  border-top:1px solid var(--border); box-shadow: var(--shadow);
}
.site-footer .disclaimer{ opacity:.85 }

/* ===== Ads container tightening (без агрессивных min-heights) ===== */
center > ins.adsbygoogle{ display:block; margin:10px auto }

/* Back-to-top button */
.back-to-top {
  position: fixed;
  right: 18px;
  bottom: 20px;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.06);
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.02));
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 20px rgba(0,0,0,.45);
  backdrop-filter: blur(6px);
  cursor: pointer;
  opacity: 0; /* hidden by default */
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .24s ease, transform .24s ease, visibility .24s;
  z-index: 1200; /* above most elements, below TG if needed */
}

/* Visible state */
.back-to-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Hover / focus */
.back-to-top:hover,
.back-to-top:focus {
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
  transform: translateY(-3px);
  outline: none;
}

/* Make icon color slightly bright */
.back-to-top svg { color: #eafaf3 }

/* Slightly smaller on mobile */
@media (max-width: 480px) {
  .back-to-top { right: 12px; bottom: 12px; width:44px; height:44px; }
  .back-to-top svg { width:16px; height:16px; }
}

