/* ── VARIABLES ── */
:root {
  --c-bg:       #0a0b0d;
  --c-surface:  #14161a;
  --c-surface2: #1e2028;
  --c-accent:   #367aff;
  --c-accent2:  #4d8eff;
  --c-green:    #a6ff0f;
  --c-text:     #fff;
  --c-muted:    #c2c5cc;
  --c-border:   rgba(255,255,255,.08);
  --hdr-h:      64px;
  --radius:     8px;
  --radius-lg:  16px;
  --tr:         .22s ease;
  --max-w:      1320px;
  --max-w-sm:   872px;
}

/* ── RESET ── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
img,video,picture { max-width:100%; height:auto; display:block; }
a { text-decoration:none; color:inherit; }
ul,ol { list-style:none; }
button { background:none; border:none; cursor:pointer; font:inherit; color:inherit; }

/* ── BASE ── */
html { font-size:16px; scroll-behavior:smooth; }
body {
  font-family:'Sora','Roboto Condensed',Arial,sans-serif;
  background:var(--c-bg);
  color:var(--c-text);
  min-height:100vh;
  overflow-x:hidden;
}

/* ── SCROLLBAR ── */
::-webkit-scrollbar { width:4px; }
::-webkit-scrollbar-track { background:transparent; }
::-webkit-scrollbar-thumb { background:rgba(255,255,255,.12); border-radius:2px; }

/* ── CONTAINER ── */
.container {
  max-width:var(--max-w);
  margin:0 auto;
  padding:0 24px;
}
.container--sm { max-width:var(--max-w-sm); margin:0 auto; padding:0 24px; }

/* ── HEADER ── */
.hdr {
  position:fixed; top:0; left:0; right:0; z-index:200;
  height:var(--hdr-h);
  background:var(--c-surface);
  border-bottom:1px solid var(--c-border);
}
.hdr__inner {
  display:flex; align-items:center; gap:16px;
  height:100%; max-width:var(--max-w); margin:0 auto; padding:0 24px;
}
.hdr__logo {
  display:flex; align-items:center; gap:10px;
  flex-shrink:0; text-decoration:none;
}
.hdr__logo img { height:40px; width:auto; }
.hdr__logo-text { font-size:1.1rem; font-weight:700; white-space:nowrap; color:var(--c-text); }
.hdr__nav {
  display:flex; align-items:center; gap:4px;
  flex:1; margin-left:16px;
}
.hdr__nav-link {
  padding:8px 14px; border-radius:6px;
  font-size:14px; font-weight:500;
  color:var(--c-muted); white-space:nowrap;
  transition:color var(--tr), background var(--tr);
}
.hdr__nav-link:hover { color:var(--c-text); background:rgba(255,255,255,.05); }
.hdr__nav-link--active { color:var(--c-text); }
.hdr__auth {
  display:flex; align-items:center; gap:8px;
  flex-shrink:0; margin-left:auto;
}
.hdr__burger {
  display:none; flex-shrink:0;
  width:40px; height:40px;
  align-items:center; justify-content:center;
  border-radius:6px;
  transition:background var(--tr);
}
.hdr__burger:hover { background:rgba(255,255,255,.06); }
.hdr__burger-icon { display:flex; flex-direction:column; gap:5px; width:20px; }
.hdr__burger-icon span {
  display:block; height:2px; width:100%;
  background:var(--c-text); border-radius:2px;
  transition:all var(--tr);
}

/* ── BUTTONS ── */
.btn {
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 24px; border-radius:100px;
  font-size:14px; font-weight:600; white-space:nowrap;
  transition:all var(--tr); cursor:pointer;
}
.btn--primary {
  background:linear-gradient(263.66deg, #367AFF 0%, #204B9E 100%);
  color:#fff;
}
.btn--primary:hover { opacity:.9; transform:translateY(-1px); }
.btn--secondary {
  border:1px solid rgba(255,255,255,.2);
  color:var(--c-text);
}
.btn--secondary:hover { border-color:var(--c-accent); color:var(--c-accent); }
.btn--login {
  border:1px solid rgba(255,255,255,.2);
  color:var(--c-text);
}
.btn--login:hover { border-color:var(--c-accent); color:var(--c-accent); }

/* ── MOBILE MENU ── */
.backdrop {
  display:none; position:fixed; inset:0; z-index:150;
  background:rgba(0,0,0,.7);
}
.backdrop.visible { display:block; }
.mobile-menu {
  position:fixed; top:0; right:-280px; bottom:0; z-index:160;
  width:280px; background:var(--c-surface);
  border-left:1px solid var(--c-border);
  transition:right var(--tr);
  display:flex; flex-direction:column; padding:80px 24px 32px;
  gap:4px;
}
.mobile-menu.open { right:0; }
.mobile-menu__link {
  display:block; padding:12px 16px; border-radius:8px;
  font-size:15px; font-weight:500; color:var(--c-muted);
  transition:color var(--tr), background var(--tr);
}
.mobile-menu__link:hover { color:var(--c-text); background:rgba(255,255,255,.05); }
.mobile-menu__btn { margin-top:16px; width:100%; text-align:center; }

/* ── PAGE WRAP ── */
.page-wrap { padding-top:var(--hdr-h); }

/* ── MAIN ── */
.main { padding-bottom:48px; }

/* ── CTA BANNER ── */
.cta-banner {
  position:relative; overflow:hidden;
  background:var(--c-surface);
}
.cta-banner__img {
  width:100%; height:auto; display:block;
  aspect-ratio:1180/370;
  object-fit:cover;
}
.cta-banner__overlay {
  position:absolute; inset:0;
  display:flex; align-items:center;
  padding:0 5%;
  background:linear-gradient(90deg, rgba(10,11,13,.85) 0%, rgba(10,11,13,.6) 55%, transparent 100%);
}
.cta-banner__content {
  max-width:480px;
  display:flex; flex-direction:column; gap:12px;
}
.cta-banner__title {
  font-size:28px; font-weight:700; line-height:1.2;
  color:var(--c-text);
}
.cta-banner__sub { font-size:14px; color:var(--c-muted); }
.cta-banner__cta { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.cta-banner__logos { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.cta-banner__logos img { height:24px; width:auto; }
.cta-banner__terms { font-size:11px; color:rgba(255,255,255,.4); }

/* ── GAMES SECTION ── */
.games-section { padding:40px 0 8px; }
.games-section .container { max-width:var(--max-w); margin:0 auto; padding:0 24px; }

/* ── FILTER BAR ── */
.filter-bar {
  display:flex; gap:12px; margin-bottom:20px;
  flex-wrap:wrap;
}
.filter-select {
  position:relative; flex-shrink:0;
}
.filter-select select {
  appearance:none; -webkit-appearance:none;
  padding:8px 36px 8px 14px;
  background:var(--c-surface2); color:var(--c-muted);
  border:1px solid var(--c-border); border-radius:8px;
  font:inherit; font-size:14px; cursor:pointer;
  transition:border-color var(--tr);
}
.filter-select select:hover,
.filter-select select:focus { outline:none; border-color:var(--c-accent); color:var(--c-text); }
.filter-select svg {
  position:absolute; right:10px; top:50%; transform:translateY(-50%);
  pointer-events:none;
}
.filter-search {
  position:relative; flex:1; min-width:200px;
}
.filter-search input {
  width:100%; padding:8px 14px 8px 40px;
  background:var(--c-surface2); color:var(--c-text);
  border:1px solid var(--c-border); border-radius:8px;
  font:inherit; font-size:14px;
  transition:border-color var(--tr);
}
.filter-search input::placeholder { color:var(--c-muted); }
.filter-search input:focus { outline:none; border-color:var(--c-accent); }
.filter-search svg {
  position:absolute; left:12px; top:50%; transform:translateY(-50%);
  pointer-events:none;
}

/* ── GAMES H1 ── */
.gamesec-h1 {
  font-size:28px; font-weight:700;
  margin-bottom:16px; color:var(--c-text);
}

/* ── GAMES GRID ── */
.games-grid {
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:12px;
  margin-bottom:28px;
}

/* ── GAME CARD ── */
.game-card {
  position:relative; border-radius:var(--radius); overflow:hidden;
  background:var(--c-surface2); display:block;
  aspect-ratio:3/2;
  transition:transform var(--tr), box-shadow var(--tr);
}
.game-card:hover { transform:translateY(-2px) scale(1.02); box-shadow:0 8px 24px rgba(0,0,0,.5); }
.game-card picture {
  position:absolute; inset:0;
}
.game-card picture img,
.game-card > img {
  width:100%; height:100%; object-fit:cover; display:block;
}
.game-card__overlay {
  position:absolute; inset:0;
  background:rgba(10,11,13,.72);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  opacity:0; transition:opacity var(--tr);
  padding:12px;
}
.game-card:hover .game-card__overlay { opacity:1; }
.game-card__title {
  font-size:12px; font-weight:600; color:#fff;
  text-align:center; line-height:1.3;
  padding:0 4px;
}
.game-card__btns { display:flex; flex-direction:column; gap:6px; width:100%; }
.game-card__btn {
  display:block; text-align:center;
  padding:6px 12px; border-radius:100px;
  font-size:12px; font-weight:600; white-space:nowrap;
  transition:all var(--tr);
}
.game-card__btn--play {
  background:linear-gradient(263.66deg, #367AFF 0%, #204B9E 100%);
  color:#fff;
}
.game-card__btn--play:hover { opacity:.9; }
.game-card__btn--demo {
  border:1px solid rgba(255,255,255,.3);
  color:#fff;
}
.game-card__btn--demo:hover { border-color:var(--c-accent); color:var(--c-accent); }

/* Load more */
.load-more { display:flex; justify-content:center; padding:8px 0 40px; }

/* ── SEO HEADING BLOCK ── */
.seo-heading {
  padding:40px 0 24px;
  text-align:center;
}
.seo-heading h2 {
  font-size:28px; font-weight:700;
  margin-bottom:16px;
  color:var(--c-text);
}
.seo-heading p {
  font-size:15px; color:var(--c-muted); line-height:1.65;
  max-width:780px; margin:0 auto 12px;
}
.seo-heading .btn { margin-top:8px; }

/* ── CONTENT SECTION (image + text) ── */
.content-sec {
  padding:40px 0;
  background:var(--c-surface);
}
.content-sec__grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:48px; align-items:center;
}
.content-sec--reverse .content-sec__grid { direction:rtl; }
.content-sec--reverse .content-sec__textual { direction:ltr; }
.content-sec--reverse .content-sec__image { direction:ltr; }
.content-sec__textual {
  display:flex; flex-direction:column; gap:20px;
}
.content-sec__text {
  font-size:15px; line-height:1.7; color:var(--c-muted);
}
.content-sec__image { border-radius:var(--radius-lg); overflow:hidden; }
.content-sec__image img { width:100%; height:auto; display:block; }

/* ── SEO ARTICLE ── */
.seo { padding:40px 0 0; }
.seo-article { font-size:14px; line-height:1.65; }
.seo-article h2 { font-size:20px; font-weight:700; color:var(--c-accent); margin-top:20px; }
.seo-article h3 { font-size:17px; font-weight:700; color:var(--c-accent); margin-top:16px; }
.seo-article h4 { font-size:15px; font-weight:700; color:var(--c-accent); margin-top:14px; }
.seo-article h5,.seo-article h6 { font-size:14px; font-weight:700; color:var(--c-muted); margin-top:12px; }
.seo-article p { color:var(--c-muted); margin-top:12px; }
.seo-article ul,.seo-article ol { padding-left:1.5em; margin:10px 0; color:var(--c-muted); }
.seo-article ul { list-style:disc; }
.seo-article ol { list-style:decimal; }
.seo-article li { margin:4px 0; }
.seo-article a { color:var(--c-accent); text-decoration:underline; }
.seo-article strong,.seo-article b { color:var(--c-text); }
.seo-article table { width:100%; border-collapse:collapse; margin:16px 0; font-size:13px; }
.seo-article th,.seo-article td { padding:8px 12px; border:1px solid var(--c-border); text-align:left; vertical-align:top; }
.seo-article th { background:rgba(255,255,255,.05); color:var(--c-accent); font-weight:700; }
.seo-article td { color:var(--c-muted); }

/* ── FOOTER ── */
.ftr {
  padding:40px 0 24px;
  border-top:1px solid var(--c-border);
}
.ftr__legal { font-size:13px; color:var(--c-muted); line-height:1.65; margin-bottom:16px; }
.ftr__legal p { margin-bottom:8px; }
.ftr__payment-icons { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:16px; margin-bottom:32px; }
.ftr__payment-icons img { height:28px; width:auto; }
.ftr__nav { margin-bottom:32px; }
.ftr__nav-title {
  font-size:12px; font-weight:700; text-transform:uppercase;
  letter-spacing:.06em; color:var(--c-text); margin-bottom:12px;
}
.ftr__nav-links { display:flex; flex-direction:column; gap:8px; }
.ftr__nav-link { font-size:13px; color:var(--c-muted); transition:color var(--tr); }
.ftr__nav-link:hover { color:var(--c-text); }
.ftr__credits {
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:16px;
  padding-top:24px; border-top:1px solid var(--c-border);
}
.ftr__logo img { height:48px; width:auto; }
.ftr__apps { display:flex; gap:12px; flex-wrap:wrap; }
.ftr__apps img { height:36px; width:auto; }
.ftr__copy { font-size:12px; color:rgba(255,255,255,.3); }

/* ── RESPONSIVE: tablet ── */
@media (max-width:1199px) {
  .hdr__nav { display:none; }
  .hdr__burger { display:flex; }
  .games-grid { grid-template-columns:repeat(5,1fr); }
}

/* ── RESPONSIVE: mobile ── */
@media (max-width:767px) {
  .hdr__auth { display:none; }
  .hdr__logo { display:none; }
  .cta-banner { display:none; }
  .filter-bar { display:none; }
  .cta-banner__title { font-size:18px; }
  .cta-banner__overlay { padding:0 16px; }
  .cta-banner__content { gap:8px; }
  .games-grid { grid-template-columns:1fr; gap:8px; }
  .games-section { padding:24px 0 8px; }
  .content-sec__grid { grid-template-columns:1fr; gap:24px; }
  .content-sec--reverse .content-sec__grid { direction:ltr; }
  .content-sec__image { order:-1; }
  .seo-heading h2 { font-size:22px; }
  .ftr__credits { flex-direction:column; align-items:flex-start; }
  .filter-bar { gap:8px; }
  .filter-search { min-width:100%; }
}

@media (max-width:480px) {
  .games-grid { grid-template-columns:1fr; }
  .cta-banner__overlay {
    background:linear-gradient(180deg, rgba(10,11,13,.85) 0%, rgba(10,11,13,.6) 100%);
  }
}
