:root{
  --bg:#0b0d12;
  --panel:#111521;
  --panel2:#0f1220;
  --line:rgba(255,255,255,.08);
  --text:rgba(255,255,255,.92);
  --muted:rgba(255,255,255,.70);
  --muted2:rgba(255,255,255,.55);

  --red:#ff2a2a;
  --red2:#ff3b3b;

  --radius-xl:22px;
  --radius-lg:18px;
  --radius-md:14px;
  --shadow:0 20px 60px rgba(0,0,0,.55);
}

*{box-sizing:border-box}
html,body{height:100%}
body.ui-dark{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background: radial-gradient(1200px 600px at 30% 10%, rgba(255,0,70,.08), transparent 60%),
              radial-gradient(900px 500px at 80% 30%, rgba(130,70,255,.10), transparent 60%),
              var(--bg);
  color:var(--text);
}

a{color:inherit}
.text-soft{color:var(--muted)}
.section-title{font-weight:900; letter-spacing:.2px}
.section-text{color:var(--muted); max-width:980px}
.section{padding:40px 0}
.section-tight{padding:26px 0}
.section-muted{background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));}

.container-xl{max-width:1200px}

/* Buttons */
.btn-ghost{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  color:var(--text);
}
.btn-ghost:hover{background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.16); color:var(--text)}
.btn-red{
  background:linear-gradient(180deg, var(--red2), var(--red));
  border:0;
  color:#101010;
  font-weight:800;
}
.btn-red:hover{filter:brightness(1.05); color:#101010}

.badge-age{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  color:var(--text);
  border-radius:999px;
  padding:.25rem .5rem;
  font-weight:800;
}

/* App layout */
.app{
  display:flex;
  min-height:100vh;
}
.side{
  width:280px;
  position:sticky;
  top:0;
  height:100vh;
  border-right:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
}
.side-inner{
  display:flex;
  flex-direction:column;
  height:100%;
  padding:22px 18px;
  gap:18px;
}
.side-brand{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:6px 8px;
  border-radius:14px;
  text-decoration:none;
}
.side-brand img{display:block; height:auto; max-width:100%}

.side-nav{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:6px;
}
.side-link{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  text-decoration:none;
  color:var(--muted);
  border:1px solid transparent;
}
.side-link i{font-size:18px; opacity:.95}
.side-link:hover{
  color:var(--text);
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.08);
}
.side-link.active{
  color:var(--text);
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.10);
}

.side-actions{
  margin-top:auto;
}
.side-note{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  padding:14px;
}

/* Language dropdown (custom, no placeholders) */
.lang-select{position:relative}
.lang-btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  color:var(--text);
}
.lang-btn i{opacity:.9}
.lang-menu{
  position:absolute;
  left:0; right:0;
  top:calc(100% + 8px);
  background:#0e1220;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  padding:8px;
  display:none;
  z-index:5;
}
.lang-menu.show{display:block}
.lang-item{
  width:100%;
  background:transparent;
  border:1px solid transparent;
  color:var(--text);
  text-align:left;
  padding:10px 10px;
  border-radius:12px;
  font-weight:700;
}
.lang-item:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.08);
}

/* Main */
.main{
  flex:1;
  min-width:0;
}

/* Mobile topbar */
.m-topbar{
  position:sticky;
  top:0;
  z-index:50;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-bottom:1px solid var(--line);
  background:rgba(8,10,14,.86);
  backdrop-filter: blur(10px);
}
.m-brand img{display:block}

.icon-btn{
  width:42px;
  height:42px;
  border-radius:14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  color:var(--text);
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.icon-btn i{font-size:22px}

/* Drawer */
.drawer{
  background:#0b0f1b;
  color:var(--text);
}
.drawer-nav{display:flex; flex-direction:column; gap:8px}
.drawer-link{
  padding:10px 12px;
  border-radius:14px;
  text-decoration:none;
  color:var(--text);
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}
.drawer-link:hover{background:rgba(255,255,255,.06)}
.drawer-note{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  padding:14px;
}

/* HERO like screenshot */
.hero-red{padding:22px 16px 10px}
@media (min-width: 992px){
  .hero-red{padding:26px 26px 10px}
}

.hero-banner{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius-xl);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:var(--shadow);
  background:
    radial-gradient(700px 400px at 85% 30%, rgba(255,40,40,.18), transparent 55%),
    linear-gradient(90deg, rgba(74,26,255,.55), rgba(164,55,255,.45) 35%, rgba(255,54,54,.35));
  min-height:280px;
  display:grid;
  grid-template-columns: 1.1fr 1fr;
  gap:18px;
  align-items:stretch;
}
@media (max-width: 991.98px){
  .hero-banner{grid-template-columns: 1fr; min-height:320px}
}

/* LEFT IMAGE PANEL */
.hero-art{
  position:relative;
  margin:18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.14);
  overflow:hidden; /* важно: чтобы картинка резалась по радиусу */
  background:
    radial-gradient(280px 220px at 55% 40%, rgba(255,255,255,.12), transparent 65%),
    radial-gradient(260px 200px at 40% 70%, rgba(0,0,0,.35), transparent 60%),
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
}

/* dashed inner frame — остаётся поверх картинки */
.hero-art:before{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:16px;
  border:1px dashed rgba(255,255,255,.18);
  opacity:.85;
  pointer-events:none;
  z-index:2;
}

/* было "квадратное стекло" — оставим, но слабее, чтобы не мешало баннеру */
.hero-art:after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  border-radius:24px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) rotate(8deg);
  background:
    radial-gradient(90px 90px at 30% 25%, rgba(255,255,255,.10), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.10)),
    rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 20px 60px rgba(0,0,0,.25);
  pointer-events:none;
  z-index:2;
  opacity:.35; /* приглушили */
}
.hero-art-link{
  position:absolute;
  inset:0;
  display:block;
  z-index:2;   /* выше фона */
}
/* САМОЕ ВАЖНОЕ: размерность картинки как у блока */
.hero-art-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;      /* заполняет блок без искажений */
  object-position:center;/* центрируем */
  display:block;
  z-index:1;
  filter:saturate(1.05) contrast(1.02);
}
.hero-copy{
  padding:22px 22px 18px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
}
.hero-kicker{
  display:inline-flex;
  width:max-content;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  font-weight:900;
  letter-spacing:.6px;
}
.hero-h1{
  font-size: clamp(24px, 3vw, 42px);
  font-weight: 950;
  margin:0;
}
.hero-p{margin:0; color:rgba(255,255,255,.86); max-width:720px}
.hero-cta{display:flex; gap:10px; flex-wrap:wrap; margin-top:8px}
.hero-meta{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  color:rgba(255,255,255,.75);
  margin-top:8px;
}
.hero-meta i{opacity:.9}

/* Categories row */
.cat-row{
  margin-top:14px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
}
.cat-link{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:999px;
  text-decoration:none;
  color:var(--muted);
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  white-space:nowrap;
}
.cat-link i{font-size:16px}
.cat-link:hover{color:var(--text); background:rgba(255,255,255,.06)}
.cat-link.active{color:#0e0e0e; background:linear-gradient(180deg, var(--red2), var(--red)); border-color:transparent; font-weight:900}
.cat-spacer{flex:1}

/* Search */
.search-wrap{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.18);
  min-width:280px;
}
.search-wrap i{opacity:.85}
.search-input{
  flex:1;
  background:transparent;
  border:0;
  outline:0;
  color:var(--text);
}
.search-input::placeholder{color:rgba(255,255,255,.55)}

/* Games strip like screenshot */
.section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.see-all{
  color:var(--red2);
  font-weight:900;
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:8px;
}
.see-all:hover{filter:brightness(1.1)}

.game-strip{
  display:flex;
  gap:14px;
  overflow:auto;
  padding-bottom:6px;
  scroll-snap-type:x mandatory;
}
.game-strip::-webkit-scrollbar{height:10px}
.game-strip::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12); border-radius:999px}
.game-strip::-webkit-scrollbar-track{background:rgba(255,255,255,.04); border-radius:999px}

.tile{
  flex:0 0 auto;
  width:190px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.02);
  overflow:hidden;
  text-decoration:none;
  box-shadow:0 18px 50px rgba(0,0,0,.35);
  scroll-snap-align:start;
}
@media (max-width: 575.98px){
  .tile{width:160px}
}

/* ВАЖНО: размерность/пропорции картинок слотов */
.tile-media{
  width:100%;
  aspect-ratio: 1 / 1;            /* квадратные плитки как на скрине */
  position:relative;
  overflow:hidden;
}
.tile-media img{
  width:100%;
  height:100%;
  object-fit:cover;               /* чтобы не тянуло */
  display:block;
  transform:scale(1.02);
}
.tile:hover{border-color:rgba(255,255,255,.18); transform:translateY(-2px); transition:.15s ease}
.tile:hover img{transform:scale(1.06); transition:.25s ease}

.note-line{opacity:.85}

/* Offers cards */
.offer-card{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  padding:18px;
  height:100%;
}
.offer-tag{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  font-weight:900;
  color:rgba(255,255,255,.88);
}
.alert-lite{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.86);
}

/* Content box */
.content-box{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  padding:22px;
}
.seo-list{color:rgba(255,255,255,.80)}
.seo-list li{margin:.35rem 0}

/* Accordion */
.accordion-item{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px !important;
  overflow:hidden;
}
.accordion-button{
  background:rgba(255,255,255,.02);
  color:var(--text);
  font-weight:800;
}
.accordion-button:not(.collapsed){
  background:rgba(255,255,255,.06);
  color:var(--text);
}
.accordion-body{color:rgba(255,255,255,.78)}
.accordion-button:focus{box-shadow:none}

/* Responsible */
.responsible-box{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  padding:22px;
}

/* Footer */
.footer{
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.12);
}
.footer-logo{opacity:.95}

/* Cookie */
.cookie{
  position:fixed;
  left:16px;
  right:16px;
  bottom:16px;
  z-index:60;
  display:none;
}
.cookie.show{display:block}
.cookie-inner{
  max-width:980px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 14px;
  border-radius:18px;
  background:rgba(10,12,18,.86);
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(10px);
}
.cookie-left{display:flex; align-items:center; gap:12px}
.cookie-ico{
  width:42px;
  height:42px;
  border-radius:14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  display:flex;
  align-items:center;
  justify-content:center;
}
.cookie-text{color:rgba(255,255,255,.78)}
.cookie-text a{color:rgba(255,255,255,.92); font-weight:800; text-decoration:underline}