/* =========================================================
   12monoshablon12 — brand lobby (zone 1) + article (zone 2)
   Brand colours and sizes live in :root — change them per launch.
   ========================================================= */
:root {
  --bg-page: #040f2f;
  --bg-panel: linear-gradient(180deg, #0b1748 0%, #1e386e 100%);
  --bg-card: rgba(28, 51, 98, 0.6);
  --bg-chip: rgba(42, 63, 111, 0.6);
  --glass: linear-gradient(180deg, rgba(24, 39, 83, 0.75) 19.69%, rgba(30, 57, 136, 0.75) 93.19%);
  --glass-side: linear-gradient(167deg, rgba(24, 39, 83, 0.75) 63.72%, rgba(30, 57, 136, 0.75) 88.95%);
  --border: rgba(255, 255, 255, 0.15);
  --text: #ffffff;
  --text-muted: #c3cde8;
  --text-soft: #819cdb;
  --accent: #ff217e;
  --accent-2: #ea7243;
  --accent-grad: linear-gradient(88deg, #ff217e 0%, #ea7243 100%);
  --gold: #f7c752;
  --green: #3ddc84;
  --cat-original: linear-gradient(285deg, #652711 4.02%, #ea6f44 97.2%);
  --cat-slots: linear-gradient(90deg, #0d7842 0%, #01371c 100%);
  --cat-live: linear-gradient(90deg, #b04ad7 0%, #35077c 100%);
  --cat-sport: linear-gradient(285deg, #021861 4.02%, #0c8fb6 97.2%);
  --radius-s: 10px;
  --radius-m: 12px;
  --radius-l: 24px;
  --container: 1320px;
  --side-w: 60px;
  --side-gap: 24px;
  --font: 'Outfit', -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font);
  font-size: 14px;
  line-height: 1.5;
  color: var(--text);
  background: var(--bg-page);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; padding: 0; }
.glass { background: var(--glass); -webkit-backdrop-filter: blur(20px) saturate(1.3); backdrop-filter: blur(20px) saturate(1.3); }

/* ---------- layout shell ---------- */
.page { padding: 16px 19px 40px calc(var(--side-gap) + var(--side-w) + 17px); }
.wrap { max-width: var(--container); margin: 0 auto; }

/* ---------- sidebar (desktop rail / mobile drawer) ---------- */
.sidebar {
  position: fixed; z-index: 300; top: 16px; left: var(--side-gap); bottom: 16px;
  width: var(--side-w); border-radius: var(--radius-m);
  background: var(--glass-side); -webkit-backdrop-filter: blur(20px) saturate(1.3); backdrop-filter: blur(20px) saturate(1.3);
  display: flex; flex-direction: column; align-items: center; padding: 12px 0;
  overflow-y: auto; scrollbar-width: none; transition: width .25s ease;
}
.sidebar::-webkit-scrollbar { display: none; }
.sidebar__toggle { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 8px; margin-bottom: 8px; }
.sidebar__toggle:hover { background: var(--bg-chip); }
.sidebar__search { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 8px; background: rgba(4, 15, 47, .45); margin-bottom: 10px; }
.sidebar__group { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px 0; border-top: 1px solid rgba(255,255,255,.06); }
.sidebar__item {
  position: relative; width: 40px; height: 40px; border-radius: 6px;
  display: flex; align-items: center; gap: 12px; padding: 10px; transition: background .2s;
}
.sidebar__item img { width: 20px; height: 20px; object-fit: contain; flex-shrink: 0; }
.sidebar__item:hover { background: var(--bg-chip); }
.sidebar__item--event { background: #502974; }
.sidebar__label { display: none; font-size: 14px; font-weight: 500; white-space: nowrap; }
.sidebar__item .sidebar__tip {
  position: absolute; left: 52px; top: 50%; transform: translateY(-50%);
  background: #21356a; color: #fff; font-size: 10px; font-weight: 500; padding: 6px 7px; border-radius: 2px;
  white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .15s;
}
.sidebar__item:hover .sidebar__tip { opacity: 1; }
.sidebar.is-open { width: 240px; align-items: stretch; padding: 12px; }
.sidebar.is-open .sidebar__toggle, .sidebar.is-open .sidebar__search { margin-left: 0; }
.sidebar.is-open .sidebar__group { align-items: stretch; }
.sidebar.is-open .sidebar__item { width: 100%; }
.sidebar.is-open .sidebar__label { display: block; }
.sidebar.is-open .sidebar__tip { display: none; }
.sidebar-backdrop { position: fixed; inset: 0; z-index: 290; background: rgba(2, 8, 26, .6); opacity: 0; visibility: hidden; transition: opacity .2s; }
.sidebar-backdrop.is-open { opacity: 1; visibility: visible; }

/* ---------- header ---------- */
.header { position: sticky; top: 16px; z-index: 200; margin-bottom: 23px; }
.header__bar { max-width: var(--container); margin: 0 auto; height: 63px; border-radius: 50px; padding: 0 15px; display: flex; align-items: center; gap: 16px; }
.header__logo img { height: 40px; width: auto; }
.header__logo .logo-icon { display: none; }
.header__nav { display: flex; align-items: stretch; height: 100%; margin: 0 auto; }
.header__nav a { display: flex; align-items: center; gap: 8px; padding: 0 10px; font-size: 13px; font-weight: 500; }
.header__nav a img { width: 18px; height: 18px; }
.header__nav .is-vip { text-transform: uppercase; color: var(--gold); }
.header__nav a:hover { color: var(--text-soft); }
.header__actions { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.header__nav + .header__actions { margin-left: 0; }
.btn-login { display: inline-flex; align-items: center; gap: 6px; font-size: 18px; }
.btn-login svg { width: 16px; height: 16px; }
.btn-register {
  display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 999px;
  background: var(--accent-grad); font-size: 18px; font-weight: 500; white-space: nowrap;
  box-shadow: 0 8px 20px -10px rgba(255, 33, 126, .8); transition: filter .2s, transform .2s;
}
.btn-register img { width: 16px; height: 16px; }
.btn-register:hover { filter: brightness(1.08); transform: translateY(-1px); }

/* ---------- hero slider ---------- */
.promo { position: relative; border-radius: 16px; overflow: hidden; margin-bottom: 24px; background: #0b1748; }
.promo__track { display: flex; transition: transform .5s ease; }
.promo__slide { flex: 0 0 100%; display: block; }
.promo__slide img { width: 100%; height: auto; aspect-ratio: 1320 / 240; object-fit: cover; }
.promo__dots { position: absolute; left: 6px; bottom: 6px; display: flex; gap: 5px; align-items: center; padding: 6px 8px; border-radius: 12px; background: #09153a; }
.promo__dot { width: 6px; height: 6px; border-radius: 3px; background: #fff; opacity: .9; transition: width .25s, background .25s; }
.promo__dot.is-active { width: 18px; background: var(--accent); opacity: 1; }
.promo__arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; border-radius: 50%; display: none; place-items: center; background: rgba(9, 21, 58, .75); border: 1px solid var(--border); }
.promo__arrow--prev { left: 8px; }
.promo__arrow--next { right: 8px; }

/* ---------- categories ---------- */
.cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 20px; }
.cat {
  position: relative; height: 77px; border-radius: var(--radius-l); border: 1px solid var(--border);
  padding: 12px 16px; display: flex; align-items: center; overflow: hidden; transition: transform .2s, filter .2s;
}
.cat:hover { transform: translateY(-2px); filter: brightness(1.08); }
.cat__title { position: relative; z-index: 1; font-size: 20px; font-weight: 700; line-height: 1.15; max-width: 72%; text-shadow: 0 1px 6px rgba(0,0,0,.25); }
.cat img { position: absolute; right: 0; bottom: 0; height: 100%; width: auto; }
.cat--original { background: var(--cat-original); }
.cat--slots { background: var(--cat-slots); }
.cat--live { background: var(--cat-live); }
.cat--sport { background: var(--cat-sport); }

/* ---------- game rows ---------- */
.row { margin-bottom: 28px; }
.row__head { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.row__title { display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 700; text-transform: uppercase; margin: 0; }
.row__title img { width: 20px; height: 20px; }
.row__tools { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.row__all { height: 30px; padding: 0 20px; border-radius: 999px; background: var(--bg-chip); color: var(--text-soft); font-size: 12px; font-weight: 500; display: inline-flex; align-items: center; }
.row__arrow { width: 30px; height: 30px; border-radius: 50%; background: rgba(42, 63, 111, .58); border: 1px solid var(--border); display: grid; place-items: center; color: var(--text-soft); }
.row__arrow svg { width: 12px; height: 12px; }
.row__track { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 2px; }
.row__track::-webkit-scrollbar { display: none; }

.game { position: relative; flex: 0 0 190px; scroll-snap-align: start; border-radius: var(--radius-s); overflow: hidden; background: var(--bg-card); }
.game img { width: 100%; aspect-ratio: 1; object-fit: cover; transition: transform .3s; }
.game__play {
  position: absolute; inset: 0; display: grid; place-items: center; background: rgba(4, 15, 47, .55);
  opacity: 0; transition: opacity .2s;
}
.game__play span { width: 52px; height: 52px; border-radius: 50%; background: #fff; display: grid; place-items: center; box-shadow: 0 6px 18px rgba(0,0,0,.35); }
.game__play svg { width: 16px; height: 20px; margin-left: 3px; }
.game:hover .game__play { opacity: 1; }
.game:hover img { transform: scale(1.04); }

.mini { flex: 0 0 86px; width: 86px; min-width: 0; scroll-snap-align: start; }
.mini img { width: 86px; aspect-ratio: 1; object-fit: cover; border-radius: 8px; }
.mini__name { margin-top: 6px; font-size: 13px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---------- providers ---------- */
.providers { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.provider {
  height: 90px; border-radius: var(--radius-m); border: 1px solid var(--border); background: var(--bg-panel);
  display: grid; place-items: center; padding: 16px 20px; transition: filter .2s;
}
.provider img { max-width: 120px; max-height: 40px; width: auto; height: auto; object-fit: contain; }
.provider:hover { filter: brightness(1.15); }

/* =========================================================
   ZONE 2 — article
   ========================================================= */
.article {
  margin-top: 40px; border-radius: 16px; border: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(11, 23, 72, .85) 0%, rgba(14, 30, 80, .85) 100%);
  padding: 40px 48px;
  color: var(--text-muted); font-size: 16px; line-height: 1.75;
}
.article h1 { color: #fff; font-size: 32px; line-height: 1.2; font-weight: 700; margin: 0 0 18px; }
.article h2 { color: #fff; font-size: 24px; line-height: 1.25; font-weight: 700; margin: 40px 0 14px; }
.article h3 { color: #fff; font-size: 18px; line-height: 1.3; font-weight: 700; margin: 26px 0 10px; }
.article p { margin: 0 0 14px; }
.article a:not(.btn-register) { color: #ff6fa8; }
.article strong, .article b { color: #fff; }
.article ul:not(.faq):not(.steps), .article ol:not(.steps) { margin: 0 0 16px; padding-left: 20px; }
.article ul:not(.faq):not(.steps) li { list-style: disc; margin-bottom: 6px; }
.article ol:not(.steps) li { list-style: decimal; margin-bottom: 6px; }
.article ul li::marker { color: var(--accent); }

.lead { font-size: 18px; color: #dfe6fb; }

.table-wrap { overflow-x: auto; margin: 18px 0 22px; border-radius: var(--radius-m); border: 1px solid var(--border); }
.article table { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 480px; }
.article th { text-align: left; color: var(--text-soft); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: 12px 16px; background: rgba(42, 63, 111, .45); }
.article td { padding: 12px 16px; border-top: 1px solid rgba(255,255,255,.07); vertical-align: top; }
.article tbody tr:nth-child(even) td { background: rgba(255,255,255,.02); }
.article td:first-child { color: #fff; font-weight: 500; }

.steps { counter-reset: step; display: grid; gap: 10px; margin: 16px 0 20px; }
.steps li { counter-increment: step; position: relative; padding: 14px 16px 14px 60px; border-radius: var(--radius-m); background: rgba(42, 63, 111, .35); border: 1px solid rgba(255,255,255,.06); }
.steps li::before {
  content: counter(step); position: absolute; left: 16px; top: 50%; transform: translateY(-50%);
  width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
  background: var(--accent-grad); color: #fff; font-weight: 700; font-size: 14px;
}

.pros-cons { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 18px 0 22px; }
.pros-cons > div { border-radius: var(--radius-m); padding: 18px 20px; border: 1px solid rgba(255,255,255,.08); }
.pros-cons .pros { background: rgba(61, 220, 132, .07); }
.pros-cons .cons { background: rgba(255, 33, 126, .07); }
.pros-cons h3 { margin-top: 0; }

.cta {
  display: flex; align-items: center; gap: 20px; margin: 28px 0; padding: 22px 26px; border-radius: 16px;
  background: linear-gradient(110deg, rgba(255, 33, 126, .22), rgba(234, 114, 67, .14) 60%, rgba(30, 56, 110, .4));
  border: 1px solid rgba(255, 111, 168, .35);
}
.cta__text { flex: 1; }
.cta__text strong { display: block; font-size: 20px; color: #fff; margin-bottom: 4px; }
.cta__text span { color: var(--text-muted); }

.faq { display: grid; gap: 10px; margin-top: 16px; }
.faq details { border-radius: var(--radius-m); background: rgba(42, 63, 111, .35); border: 1px solid rgba(255,255,255,.06); }
.faq summary { cursor: pointer; list-style: none; padding: 16px 48px 16px 18px; color: #fff; font-weight: 500; position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); font-size: 22px; color: var(--text-soft); }
.faq details[open] summary::after { content: '−'; }
.faq .faq__a { padding: 0 18px 16px; }

/* ---------- footer ---------- */
.footer { margin-top: 48px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,.08); color: var(--text-soft); font-size: 14px; }
.footer__cols { display: grid; grid-template-columns: 1.2fr repeat(4, 1fr); gap: 24px; }
.footer__title { color: #fff; font-size: 13px; font-weight: 700; text-transform: uppercase; margin: 0 0 12px; }
.footer__col a { display: block; margin-bottom: 8px; }
.footer__col a:hover { color: #fff; }
.footer__license { display: flex; align-items: center; gap: 10px; }
.footer__license img { width: 48px; height: 48px; }
.footer__pay { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin: 28px 0; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); }
.footer__pay img { height: 26px; width: auto; }
.footer__pay .age { margin-left: auto; width: 38px; height: 38px; border-radius: 50%; border: 2px solid var(--accent); color: #fff; font-weight: 700; display: grid; place-items: center; font-size: 13px; }
.footer__legal { font-size: 12px; line-height: 1.6; color: #7f8fb8; }
.footer__legal p { margin: 0 0 8px; }

/* ---------- mobile bottom nav ---------- */
.tabbar {
  display: none; position: fixed; z-index: 250; left: 11px; right: 11px; bottom: 8px; height: 52px; border-radius: 26px;
  background: rgba(42, 63, 111, .58); -webkit-backdrop-filter: blur(20px) saturate(1.3); backdrop-filter: blur(20px) saturate(1.3);
  align-items: center; justify-content: space-around;
}
.tabbar a, .tabbar button { display: flex; flex-direction: column; align-items: center; gap: 3px; font-size: 11px; font-weight: 500; color: #acbbdc; text-transform: capitalize; min-width: 56px; }
.tabbar svg { width: 16px; height: 16px; fill: #acbbdc; }
.tabbar .is-active { color: #fff; }
.tabbar .is-active svg { fill: #fff; }
.tabbar .tabbar__center svg { width: 30px; height: 30px; }

/* ---------- responsive ---------- */
@media (max-width: 1199px) {
  .page { padding: 12px 16px 90px; }
  .sidebar { left: 0; top: 0; bottom: 0; width: 280px; border-radius: 0 12px 12px 0; transform: translateX(-100%); transition: transform .25s ease; align-items: stretch; padding: 16px; }
  .sidebar.is-open { transform: none; width: 280px; }
  .sidebar .sidebar__group { align-items: stretch; }
  .sidebar .sidebar__item { width: 100%; }
  .sidebar .sidebar__label { display: block; }
  .sidebar .sidebar__tip { display: none; }
  .tabbar { display: flex; }
  .providers { grid-template-columns: repeat(4, 1fr); }
  .footer__cols { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 860px) {
  .header__nav { display: none; }
  .header__nav + .header__actions { margin-left: auto; }
  .cats { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .providers { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .article { padding: 28px 22px; }
  .pros-cons { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .header { top: 10px; margin-bottom: 14px; }
  .header__bar { height: 54px; padding: 0 8px 0 10px; gap: 10px; }
  .header__logo .logo-full { display: none; }
  .header__logo .logo-icon { display: block; height: 34px; }
  .btn-login, .btn-register { font-size: 16px; }
  .promo { border-radius: 14px; margin-bottom: 16px; }
  .promo__slide img { aspect-ratio: 366 / 260; }
  .promo__arrow { display: grid; }
  .cat { height: 72px; border-radius: 18px; padding: 10px 14px; }
  .cat__title { font-size: 16px; max-width: 62%; align-self: flex-start; padding-top: 2px; }
  .cat img { max-width: 58%; object-fit: contain; object-position: right bottom; }
  .row__title { font-size: 15px; }
  .row__all { display: none; }
  .game { flex-basis: 132px; }
  .row__track { gap: 10px; }
  .provider { height: 64px; padding: 10px; }
  .provider img { max-width: 90px; max-height: 30px; }
  .article { margin-top: 28px; padding: 24px 16px; font-size: 15px; }
  .article table { min-width: 0; font-size: 14px; }
  .article th, .article td { padding: 10px 12px; }
  .article h1 { font-size: 26px; }
  .article h2 { font-size: 21px; margin-top: 32px; }
  .lead { font-size: 16px; }
  .cta { flex-direction: column; align-items: flex-start; padding: 18px; }
  .footer__cols { grid-template-columns: repeat(2, 1fr); }
  .footer__cols > :first-child { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  .promo__track, .game img, .cat, .btn-register { transition: none; }
}

/* ---------- 404 ---------- */
.notfound { min-height: 60vh; display: grid; place-items: center; text-align: center; padding: 40px 16px; }
.notfound__code { font-size: 96px; font-weight: 700; line-height: 1; background: var(--accent-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.notfound__title { font-size: 24px; margin: 12px 0 8px; }
.notfound__text { color: var(--text-muted); margin: 0 0 22px; }
