:root {
  --bg: #04060b;
  --panel: #0d1a2b;
  --panel-2: #101f33;
  --text: #f6f8ff;
  --muted: #8b95a8;
  --line: #243149;
  --grad: linear-gradient(95deg, #ff2f95 0%, #6427ff 48%, #0a58ff 100%);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid #f838a8; outline-offset: 2px; }

section[id], main[id] { scroll-margin-top: 72px; }

.app-shell { min-height: 100vh; }
.side-rail { display: none; }
.main-shell { padding-bottom: calc(82px + env(safe-area-inset-bottom)); }

.site-header {
  position: sticky; top: 0; z-index: 30;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.5rem 0.65rem;
  align-items: center;
  padding: 0.6rem 0.8rem;
  background: rgba(5, 11, 20, 0.95);
  border-bottom: 1px solid #1d2a3e;
}
.site-header__brand { justify-self: center; min-width: 0; }
.site-header__brand img { width: 136px; height: auto; margin: 0 auto; }
.menu-trigger { min-width: 42px; min-height: 42px; }
.icon-btn {
  background: #1a2a40; border: 1px solid #2b3b53; border-radius: 10px; cursor: pointer;
  min-height: 40px; min-width: 40px;
  display: inline-flex; align-items: center; justify-content: center;
  color: #e6ecfb; padding: 0;
}
.icon { display: block; flex: none; }
.icon-btn--circle {
  width: 46px;
  height: 46px;
  min-width: 46px;
  min-height: 46px;
  border-radius: 999px;
  display: grid;
  place-items: center;
}
.header__search { justify-self: end; }
.header__actions { display: none; gap: 0.5rem; }

.cta-button {
  border-radius: 9px; border: 1px solid #59637a; color: var(--text);
  padding: 0.64rem 0.95rem; font-size: 0.83rem; text-transform: uppercase;
  letter-spacing: 0.03em; display: inline-flex; justify-content: center; align-items: center; cursor: pointer;
  transition: transform 160ms ease, filter 160ms ease, box-shadow 160ms ease, background 160ms ease;
  user-select: none;
}
.cta-button:hover { filter: brightness(1.1); transform: translateY(-1px); }
.cta-button:active { transform: translateY(0); filter: brightness(0.96); }
.cta-button--gradient { background: var(--grad); border-color: transparent; font-weight: 700; box-shadow: 0 8px 20px rgba(147, 35, 255, 0.25); }
.cta-button--gradient:hover { box-shadow: 0 12px 26px rgba(147, 35, 255, 0.38); }
.cta-button--ghost { background: transparent; }
.cta-button--ghost:hover { background: rgba(255, 255, 255, 0.05); border-color: #7a86a0; }
.cta-button--dark {
  background: #05070c;
  border-color: #2b3650;
  color: #fff;
  font-weight: 800;
}
.cta-button--dark:hover { background: #0b1120; border-color: #3e4c6d; }

.hero__slider { position: relative; overflow: hidden; min-height: 170px; }
.hero__slides { display: flex; transition: transform 400ms ease; }
.hero__slide { min-width: 100%; position: relative; cursor: pointer; }
.hero__slide img { width: 100%; height: clamp(170px, 38vw, 360px); object-fit: cover; }
.hero__overlay {
  position: absolute; inset: auto 0 0 0;
  padding: 1rem 3.6rem 1.1rem 1.1rem;
  background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.88));
  max-width: 720px;
}
.hero__overlay h2 { margin: 0 0 0.35rem; font-size: clamp(1.1rem, 4vw, 2rem); line-height: 1.2; }
.hero__overlay p { margin: 0 0 0.7rem; color: #d7e1f3; }
.hero__arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
  background: rgba(10, 16, 28, 0.55); border-color: rgba(255, 255, 255, 0.12);
  color: #fff; backdrop-filter: blur(4px);
  transition: background 160ms ease, transform 160ms ease;
}
.hero__arrow:hover { background: rgba(10, 16, 28, 0.8); }
.hero__arrow--prev { left: 0.6rem; } .hero__arrow--next { right: 0.6rem; }
.hero__dots { display: flex; justify-content: center; gap: 0.4rem; padding: 0.6rem 0 1.1rem; }
.hero__dots button {
  width: 9px; height: 9px; border-radius: 50%; border: 0; background: #2f3f56; padding: 0;
  cursor: pointer; transition: background 160ms ease, transform 160ms ease;
}
.hero__dots button:hover { background: #56678a; }
.hero__dots button.active { background: #ea2ea0; transform: scale(1.25); }
.hero__slide img { transition: transform 600ms ease; }
.hero__slide:hover img { transform: scale(1.015); }

.arcade {
  padding: 1.2rem 0.9rem 1.6rem;
  background: linear-gradient(180deg, #04070f 0%, #07041a 60%, #04070f 100%);
  border-top: 1px solid #1d2940;
  border-bottom: 1px solid #1d2940;
}
.arcade__header { text-align: center; margin: 0 auto 0.9rem; max-width: 720px; }
.arcade__header h3 {
  margin: 0 0 0.3rem;
  font-size: clamp(1.1rem, 3.5vw, 1.5rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: linear-gradient(90deg, #ff2ea0 0%, #a855f7 50%, #1effe0 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.arcade__header p {
  margin: 0; color: #a5b0cc; font-size: 0.85rem; line-height: 1.5;
}
.arcade__stage {
  position: relative;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  height: clamp(220px, 44vw, 380px);
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid #3a2266;
  background: #05000d;
  box-shadow:
    0 0 0 1px rgba(255, 46, 160, 0.18),
    0 14px 32px rgba(80, 22, 200, 0.28),
    inset 0 0 60px rgba(0, 0, 0, 0.5);
  isolation: isolate;
}
.arcade__stage canvas {
  display: block; width: 100%; height: 100%;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  touch-action: manipulation;
  cursor: pointer;
}
.arcade__hud[hidden],
.arcade__cover[hidden],
.arcade__result[hidden] { display: none !important; }
.arcade__hud {
  position: absolute; top: 0.55rem; left: 0.55rem; right: 0.55rem;
  display: flex; justify-content: space-between; gap: 0.5rem;
  pointer-events: none; z-index: 3;
}
.arcade__hud-item {
  display: inline-flex; align-items: center; gap: 0.45rem;
  background: rgba(8, 2, 22, 0.75);
  border: 1px solid rgba(255, 46, 160, 0.42);
  padding: 0.3rem 0.6rem;
  border-radius: 8px;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #f0e4ff;
  backdrop-filter: blur(4px);
}
.arcade__hud-item span { color: #a99fc6; }
.arcade__hud-item b {
  color: #fff; font-weight: 800; font-variant-numeric: tabular-nums;
  text-shadow: 0 0 10px rgba(255, 46, 160, 0.7);
}
.arcade__cover, .arcade__result {
  position: absolute; inset: 0; z-index: 4;
  display: grid; place-items: center;
  padding: 1rem;
  text-align: center;
}
.arcade__cover {
  cursor: pointer;
  background:
    linear-gradient(180deg, rgba(4, 0, 12, 0.35) 0%, rgba(4, 0, 12, 0.55) 55%, rgba(4, 0, 12, 0.88) 100%),
    url("images/game-ban.webp") center / cover no-repeat,
    #04000c;
}
.arcade__cover::before {
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(60% 60% at 50% 40%, rgba(0, 0, 0, 0) 0%, rgba(4, 0, 12, 0.55) 100%);
  pointer-events: none;
}
.arcade__result {
  background: radial-gradient(120% 120% at 50% 30%, rgba(38, 10, 80, 0.55), rgba(4, 0, 12, 0.88) 70%);
  backdrop-filter: blur(3px);
}
.arcade__cover-inner { position: relative; z-index: 1; }
.arcade__cover-inner { display: grid; gap: 0.75rem; justify-items: center; max-width: 440px; }
.arcade__badge, .arcade__result-badge {
  padding: 0.28rem 0.7rem; border-radius: 999px;
  background: rgba(255, 46, 160, 0.16);
  border: 1px solid rgba(255, 46, 160, 0.55);
  color: #ffe8f6;
  font-size: 0.68rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.arcade__title {
  font-size: clamp(1.35rem, 4.2vw, 2.1rem);
  font-weight: 900;
  letter-spacing: 0.08em;
  background: linear-gradient(90deg, #ff2ea0, #1effe0);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  text-shadow: 0 0 24px rgba(255, 46, 160, 0.25);
}
.arcade__subtitle {
  margin: 0; color: #c1cbe5; font-size: 0.86rem; line-height: 1.5;
}
.arcade__result {
  display: grid; grid-auto-rows: max-content; justify-items: center;
  align-content: center; gap: 0.55rem;
}
.arcade__result h4 {
  margin: 0.2rem 0 0.1rem;
  font-size: clamp(1.3rem, 3.4vw, 1.9rem);
  letter-spacing: 0.05em;
  background: linear-gradient(90deg, #ffe357 0%, #ff2ea0 55%, #a855f7 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.arcade__result p { margin: 0; color: #cbd4e6; font-size: 0.88rem; }
.arcade__actions {
  display: flex; gap: 0.6rem; flex-wrap: wrap; justify-content: center;
  margin-top: 0.5rem;
}
@media (min-width: 768px) {
  .arcade { padding: 1.6rem 1.4rem 1.8rem; }
  .arcade__hud-item { font-size: 0.78rem; padding: 0.35rem 0.75rem; }
}

.bonus-section {
  background: radial-gradient(120% 120% at 50% 0%, #12122a 0%, #04070d 55%);
  padding: 1.8rem 1rem;
  border-top: 1px solid #1a2637;
  border-bottom: 1px solid #1a2637;
}
.bonus-section__content { max-width: 1000px; margin: 0 auto; }
.bonus-section h2 { text-align: center; font-size: clamp(1.7rem, 4vw, 2.8rem); margin: 0 0 1.1rem; letter-spacing: 0.01em; }
.bonus-section p { color: #d0d8e8; line-height: 1.65; margin: 0 0 0.75rem; }
.bonus-section ul { margin: 1rem 0 1.2rem; padding-left: 1.2rem; line-height: 1.8; color: #d8e0f1; }
.bonus-section ul strong { color: #fff; }
.bonus-section__cta-wrap { display: flex; justify-content: center; margin: 1.3rem 0 0.3rem; }
.bonus-section__cta-wrap .cta-button { padding: 0.85rem 1.8rem; font-size: 0.92rem; }
.terms-panel {
  width: 100%; margin-top: 1.2rem; border: 1px solid var(--line); border-radius: 10px;
  background: #101b2b; color: #d8e1f0; padding: 0.85rem 1.05rem;
  display: flex; justify-content: space-between; align-items: center;
  cursor: pointer; font-weight: 600;
  transition: background 160ms ease, border-color 160ms ease;
}
.terms-panel:hover { background: #15243a; border-color: #334560; }
.terms-panel__toggle {
  position: relative; width: 16px; height: 16px; flex: none;
}
.terms-panel__toggle::before,
.terms-panel__toggle::after {
  content: ""; position: absolute; background: currentColor; border-radius: 2px;
  transition: transform 200ms ease, opacity 200ms ease;
}
.terms-panel__toggle::before { top: 50%; left: 0; right: 0; height: 2px; transform: translateY(-50%); }
.terms-panel__toggle::after { left: 50%; top: 0; bottom: 0; width: 2px; transform: translateX(-50%); }
.terms-panel[aria-expanded="true"] .terms-panel__toggle::after { transform: translateX(-50%) scaleY(0); opacity: 0; }
.terms-panel__content {
  display: none; margin-top: 0.5rem; color: #aeb9cc;
  padding: 0.9rem 1.05rem; background: #0b1524; border: 1px solid var(--line); border-radius: 10px;
  line-height: 1.6;
}
.terms-panel__content.open { display: block; }

.promotions, .game-lobby, .live-games, .wins-carousel { padding: 1.3rem 0.9rem; }
.promotions h3, .wins-carousel h3 { margin: 0 0 0.95rem; font-size: 1.3rem; letter-spacing: 0.01em; }
.promo-grid, .specials-grid, .games-grid { display: grid; gap: 0.8rem; }
.specials-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 0.85rem; }
.promo-card, .special-card, .game-card {
  border-radius: 12px; overflow: hidden; background: #111f31; border: 1px solid #28364c;
  cursor: pointer;
  transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
  display: flex; flex-direction: column;
}
.promo-card:hover, .special-card:hover, .game-card:hover {
  transform: translateY(-2px);
  border-color: #3e5277;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
}
.promo-card img, .special-card img {
  width: 100%; height: 120px; object-fit: cover;
  transition: transform 500ms ease;
}
.promo-card:hover img, .special-card:hover img { transform: scale(1.03); }
.game-card a { display: flex; flex-direction: column; height: 100%; color: inherit; }
.game-card img {
  width: 100%;
  height: 170px;
  object-fit: contain;
  object-position: center;
  background: #0e1a2b;
}
.promo-card__body, .game-card__meta { padding: 0.75rem 0.8rem 0.85rem; }
.special-card__body { padding: 0.75rem 0.8rem 0.85rem; }
.promo-card__body, .special-card__body { display: flex; flex-direction: column; flex: 1; }
.special-card__body p,
.promo-card__body p { margin: 0; color: #9ea9bf; font-size: 0.72rem; letter-spacing: 0.05em; text-transform: uppercase; }
.promo-card__body h4, .special-card h4, .game-card h4 {
  margin: 0.35rem 0 0.75rem;
  font-size: 1rem; line-height: 1.3;
}
.promo-card__actions { display: flex; align-items: stretch; gap: 0.5rem; margin-top: auto; }
.promo-card__actions .cta-button {
  flex: 1 1 0; min-width: 0; font-size: 0.76rem; padding: 0.55rem 0.6rem;
  line-height: 1.2;
}
.special-card .promo-card__actions { flex-direction: column; gap: 0.4rem; }
.special-card .promo-card__actions .cta-button {
  flex: none;
  width: 100%;
  font-size: 0.72rem;
  padding: 0.55rem 0.6rem;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.lobby-tabs, .live-tabs {
  display: flex; overflow-x: auto; gap: 0.4rem; margin-bottom: 0.85rem;
  scrollbar-width: thin;
}
.lobby-tabs::-webkit-scrollbar, .live-tabs::-webkit-scrollbar { height: 4px; }
.lobby-tabs::-webkit-scrollbar-thumb, .live-tabs::-webkit-scrollbar-thumb { background: #243149; border-radius: 4px; }
.lobby-tabs button, .live-tabs button {
  border: 0; background: transparent; color: #b8c2d6; border-bottom: 2px solid transparent;
  padding: 0.5rem 0.7rem; white-space: nowrap; cursor: pointer;
  font-weight: 600; letter-spacing: 0.02em; font-size: 0.88rem;
  transition: color 160ms ease, border-color 160ms ease;
}
.lobby-tabs button:hover, .live-tabs button:hover { color: #fff; }
.lobby-tabs button.active, .live-tabs button.active { color: #fff; border-bottom-color: #f13aa5; }
.lobby-toolbar { display: grid; grid-template-columns: 1fr auto; gap: 0.55rem; margin-bottom: 0.9rem; }
.search-bar {
  display: flex; align-items: center; background: #1a2b42; border: 1px solid #354661; border-radius: 10px;
  padding: 0.5rem 0.75rem; transition: border-color 160ms ease, background 160ms ease;
}
.search-bar:focus-within { border-color: #5a6f94; background: #1f3150; }
.search-bar input { width: 100%; border: 0; background: transparent; outline: none; }
.search-bar input::placeholder { color: #8591ac; }
.search-bar__icon {
  display: inline-flex; align-items: center; justify-content: center;
  color: #c8d2e4; margin-left: 0.4rem;
}
.live-games .search-bar { margin-bottom: 0.9rem; }
.games-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.live-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.game-card--large img { height: 132px; }
.game-card__meta p { margin: 0; color: #9aa5bc; font-size: 0.85rem; }

.wins-carousel { background: #0b1523; border-top: 1px solid #25354d; border-bottom: 1px solid #25354d; }
.wins-carousel__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.7rem; }
.wins-carousel__head > div { display: flex; gap: 0.4rem; }
.wins-carousel__viewport { overflow: hidden; max-height: 300px; }
.wins-carousel__track { transition: transform 350ms ease; }
.wins-row {
  height: 60px; display: grid; grid-template-columns: 52px 1fr auto; gap: 0.7rem; align-items: center;
  border-bottom: 1px solid #1f2d42; padding: 0.35rem 0.2rem;
}
.wins-row:last-child { border-bottom: 0; }
.wins-row img { width: 52px; height: 52px; border-radius: 8px; object-fit: cover; }
.wins-row strong { display: block; font-size: 0.88rem; color: #f1f5ff; }
.wins-row span { color: #a3aec4; font-size: 0.75rem; }
.wins-row div:last-child { text-align: right; }
.wins-row em { color: #8da3c2; font-style: normal; font-size: 0.74rem; }
.wins-row b { color: #9bf8c8; font-size: 0.92rem; }

.seo-text {
  padding: 1.2rem 0.9rem 1.6rem;
  background: #05080f;
  border-top: 1px solid #1d2940;
}
.seo-text__content {
  max-width: 1050px;
  margin: 0 auto;
  color: #d9e1f1;
  line-height: 1.7;
}
.seo-text__content h1 {
  margin: 0 0 1rem;
  color: #f4f8ff;
  font-size: clamp(1.45rem, 4vw, 2.25rem);
  line-height: 1.3;
}
.seo-text__content h2 {
  margin: 1.4rem 0 0.65rem;
  color: #ffffff;
  font-size: clamp(1.1rem, 3vw, 1.65rem);
}
.seo-text__content h3 {
  margin: 1rem 0 0.5rem;
  color: #f4f8ff;
  font-size: clamp(1rem, 2.4vw, 1.2rem);
}
.seo-text__content p {
  margin: 0 0 0.8rem;
  color: #c8d2e4;
}
.table-wrap {
  overflow-x: auto;
  border: 1px solid #2a3750;
  border-radius: 12px;
  background: #0e1a2b;
  margin: 0.9rem 0 1.1rem;
}
.table-wrap table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.table-wrap th,
.table-wrap td {
  padding: 0.45rem 0.5rem;
  border-bottom: 1px solid #293853;
  text-align: left;
  vertical-align: top;
  word-wrap: break-word;
  overflow-wrap: anywhere;
  hyphens: auto;
  font-size: 0.7rem;
  line-height: 1.35;
}
.table-wrap th {
  background: #15263d;
  color: #f5f8ff;
  font-weight: 700;
  letter-spacing: 0.01em;
}
.table-wrap td { color: #ccd5e7; }
.table-wrap tr:last-child td { border-bottom: 0; }
@media (min-width: 640px) {
  .table-wrap th, .table-wrap td { padding: 0.65rem 0.7rem; font-size: 0.82rem; }
}
@media (min-width: 900px) {
  .table-wrap th, .table-wrap td { padding: 0.75rem; font-size: 0.9rem; }
}
.faq-list {
  display: grid;
  gap: 0.7rem;
}
.faq-item {
  background: #0f1c2f;
  border: 1px solid #2a3954;
  border-radius: 10px;
  padding: 0.85rem 1rem 0.95rem;
  transition: border-color 180ms ease, background 180ms ease;
}
.faq-item:hover { border-color: #3b4c70; background: #132338; }
.faq-item h3 {
  margin: 0 0 0.4rem;
  font-size: 1rem;
  color: #f2f5ff;
}
.faq-item p { margin: 0; color: #c5cfe3; line-height: 1.55; }
.footer {
  background: linear-gradient(180deg, #121f30 0%, #0b1524 100%);
  padding: 1.6rem 1rem 6rem; text-align: center;
  border-top: 1px solid #1f2d44;
}
.footer__logo { width: 120px; margin: 0 auto 1.1rem; }
.footer__links, .footer__payments {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
  gap: 0.55rem 1rem;
}
.footer__links a {
  font-size: 0.8rem; color: #b6c1d7;
  transition: color 160ms ease;
}
.footer__links a:hover { color: #fff; }
.footer__payments { margin: 1.2rem 0; gap: 0.5rem 0.8rem; }
.footer__payments img {
  height: 22px; width: auto; opacity: 0.85;
  transition: opacity 160ms ease, transform 160ms ease;
}
.footer__payments img:hover { opacity: 1; transform: translateY(-1px); }
.logo-pill, .legal-badge {
  border: 1px solid #435271; border-radius: 999px;
  padding: 0.3rem 0.7rem; font-size: 0.74rem; color: #e5eefc;
  letter-spacing: 0.02em;
}
.legal-badge { background: rgba(255, 255, 255, 0.04); margin: 0 0.2rem 0.5rem; display: inline-block; }
.footer__legal { margin-top: 0.6rem; }
.footer__legal p { color: #9faac0; font-size: 0.82rem; line-height: 1.55; margin: 0.6rem auto 0; max-width: 720px; }

.floating-chat {
  position: fixed; right: 0.9rem; bottom: calc(90px + env(safe-area-inset-bottom)); z-index: 40;
  width: 54px; height: 54px; border-radius: 50%; border: 0; background: var(--grad);
  box-shadow: 0 10px 26px rgba(147, 35, 255, 0.45);
  display: inline-flex; align-items: center; justify-content: center;
  text-decoration: none; color: #fff; cursor: pointer;
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.floating-chat:hover { transform: translateY(-2px) scale(1.04); box-shadow: 0 14px 32px rgba(147, 35, 255, 0.55); }
.mobile-bar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 41;
  display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0.4rem;
  background: rgba(5, 8, 15, 0.96); backdrop-filter: blur(8px);
  border-top: 1px solid #23334a;
  padding: 0.4rem 0.5rem calc(0.4rem + env(safe-area-inset-bottom));
}
.mobile-bar__btn {
  min-height: 46px; display: grid; place-items: center; color: #fff;
  border-radius: 10px;
  font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.04em;
  font-weight: 800; white-space: nowrap;
  padding: 0 0.5rem;
  transition: filter 160ms ease, background 160ms ease;
}
.mobile-bar__btn--center { background: var(--grad); box-shadow: 0 6px 18px rgba(147, 35, 255, 0.32); }
.mobile-bar__btn:not(.mobile-bar__btn--center) {
  border: 1px solid #2d3b52;
  background: #060a12;
}
.mobile-bar__btn:hover { filter: brightness(1.1); }

.mobile-drawer {
  position: fixed; inset: 0; z-index: 50; background: rgba(2, 4, 8, 0.75);
  opacity: 0; pointer-events: none; transition: opacity 250ms ease;
}
.mobile-drawer.open { opacity: 1; pointer-events: auto; }
.mobile-drawer__panel {
  width: min(290px, 88vw); height: 100%;
  background: linear-gradient(180deg, #2a0d46, #140d1f 35%, #0a1322);
  border-right: 1px solid #314260;
  padding: 1rem 1.1rem; transform: translateX(-100%); transition: transform 250ms ease;
  display: grid; gap: 0.35rem; align-content: start;
}
.mobile-drawer.open .mobile-drawer__panel { transform: translateX(0); }
.mobile-drawer__panel img { width: 108px; margin: 0.2rem 0 0.8rem; }
.mobile-drawer__panel a {
  padding: 0.65rem 0.7rem; border-radius: 8px;
  font-size: 0.95rem; color: #e3ebff;
  transition: background 160ms ease, color 160ms ease;
}
.mobile-drawer__panel a:hover { background: rgba(255, 255, 255, 0.08); color: #fff; }
.mobile-drawer__close {
  justify-self: end;
  width: 40px; height: 40px;
  display: grid; place-items: center;
  background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px; color: #fff; cursor: pointer;
  transition: background 160ms ease;
}
.mobile-drawer__close:hover { background: rgba(255, 255, 255, 0.14); }

@media (min-width: 768px) {
  .site-header {
    grid-template-columns: 1fr auto;
    gap: 0.75rem;
  }
  .header__actions { display: flex; }
  .site-header .menu-trigger { display: none; }
  .site-header__brand { display: none; }
  .header__search { grid-column: 1; justify-self: start; }
  .header__actions { grid-column: 2; justify-self: end; }
  .hero__slide img { height: clamp(260px, 27vw, 410px); }
  .promo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .specials-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .games-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .live-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .promo-card img, .special-card img { height: 140px; }
  .game-card img { height: 185px; }
}

@media (min-width: 1100px) {
  .app-shell { display: grid; grid-template-columns: 240px 1fr; }
  .side-rail {
    display: flex; flex-direction: column; gap: 1rem; position: sticky; top: 0; height: 100vh;
    padding: 1.1rem 1rem 1.1rem;
    background: linear-gradient(180deg, #420064 0%, #190f2b 36%, #0a1422 100%);
    border-right: 1px solid #32425f;
    overflow-y: auto;
  }
  .side-rail__brand { display: flex; justify-content: center; padding-bottom: 0.4rem; }
  .side-rail__brand img { width: 120px; }
  .side-rail__cta { display: grid; gap: 0.5rem; }
  .side-rail__nav, .side-rail__legal { display: grid; gap: 0.2rem; }
  .side-rail__nav {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    padding-top: 0.9rem;
    margin-top: 0.2rem;
  }
  .side-rail__legal {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 0.8rem;
    margin-top: 0.2rem;
  }
  .side-rail__nav a {
    position: relative;
    padding: 0.5rem 0.55rem 0.5rem 1.2rem;
    border-radius: 8px;
    font-size: 0.92rem; color: #d8e0f1;
    transition: background 180ms ease, color 180ms ease;
  }
  .side-rail__nav a::before {
    content: ""; position: absolute; left: 0.55rem; top: 50%; transform: translateY(-50%);
    width: 6px; height: 6px; border-radius: 50%; background: #f15caf;
    opacity: 0.7;
    transition: opacity 180ms ease, transform 180ms ease;
  }
  .side-rail__nav a:hover { background: rgba(255, 255, 255, 0.08); color: #fff; }
  .side-rail__nav a:hover::before { opacity: 1; transform: translateY(-50%) scale(1.25); }
  .side-rail__legal a {
    color: #aeb8cd;
    font-size: 0.82rem;
    padding: 0.32rem 0.55rem;
    border-radius: 7px;
    transition: background 180ms ease, color 180ms ease;
  }
  .side-rail__legal a:hover { background: rgba(255, 255, 255, 0.06); color: #fff; }
  .language-switch {
    margin-top: auto;
    background: transparent; border: 1px solid #516385; color: #e2ecff;
    border-radius: 999px; padding: 0.55rem 0.9rem;
    text-align: center; text-decoration: none; display: block; cursor: pointer;
    font-size: 0.88rem; letter-spacing: 0.02em;
    transition: background 180ms ease, border-color 180ms ease;
  }
  .language-switch:hover { background: rgba(255, 255, 255, 0.06); border-color: #7a8ab0; }
  .mobile-bar, .floating-chat { bottom: 1.5rem; }
  .mobile-bar { display: none; }
  .mobile-drawer { display: none; }
  .main-shell { padding-bottom: 1.5rem; }
  .site-header { grid-template-columns: 1fr auto; padding: 0.9rem 1.4rem; }
  .header__search { grid-column: 1; justify-self: start; }
  .header__actions { grid-column: 2; justify-self: end; gap: 0.6rem; }
  .promotions, .game-lobby, .live-games, .wins-carousel, .bonus-section { padding: 1.6rem 1.4rem; }
  .seo-text { padding: 1.6rem 1.4rem 2.2rem; }
  .specials-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .games-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .live-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .game-card img { height: 170px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
