/* vavada902.casino — Вавада / Vavada. Концепция «Гавань в тумане»: графитовая вода, туманный жёлтый створный огонь, сине-серая дымка */

:root {
  --bg: #0c1114;
  --sf: #141b20;
  --sf-2: #182026;
  --ln: #202a31;
  --ln-2: #2b3841;
  --tx: #e7eef2;
  --tx-d: #8b98a2;
  --am: #e8d08a;
  --am-d: #c9ae66;
  --sl: #6f8fa8;
  --sl-d: #4e6a80;
  --ok: #7fbf9a;
  --pad: clamp(18px, 4.2vw, 60px);
  --gap: clamp(14px, 1.6vw, 22px);
}

* { box-sizing: border-box }
html { scroll-behavior: smooth }

body {
  margin: 0;
  font: 16.5px/1.72 "Vollkorn", Georgia, "Times New Roman", serif;
  color: var(--tx);
  background:
    radial-gradient(1200px 520px at 12% -10%, rgba(111, 143, 168, .18) 0%, transparent 62%),
    radial-gradient(760px 520px at 96% 8%, rgba(232, 208, 138, .07) 0%, transparent 58%),
    var(--bg);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4,
.sable-logo__t, .sable-kpi__n, .sable-agg__n, .sable-dep__n, .sable-step__n,
.sable-card__meta, .sable-tourkpi span, .sable-foot__name, .sable-foot__h,
.sable-ovr, .sable-chip, .sable-badge, .sable-tag, .sable-cta, .sable-tbl th,
.sable-final__t, .sable-rev__m, .sable-faq summary {
  font-family: "Onest", "Segoe UI", system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: -.012em;
}

h1 { font-size: clamp(27px, 3.5vw, 43px); line-height: 1.16; margin: 14px 0 18px }
h2 { font-size: clamp(21px, 2.4vw, 30px); line-height: 1.24; margin: 6px 0 16px }
h3 { font-size: clamp(17px, 1.5vw, 20px); line-height: 1.3; margin: 0 0 8px }
h4 { font-size: 17px; margin: 0 0 6px }
p  { margin: 0 0 12px }
svg { max-width: 100%; height: auto }
a { color: var(--am); text-decoration: none }
a:hover { text-decoration: underline }

.sable-skip {
  position: absolute; left: -9999px; top: 0; background: var(--am); color: #0c1114;
  padding: 10px 16px; z-index: 99;
}
.sable-skip:focus { left: 0 }

/* ---------- header ---------- */
.sable-bar {
  position: sticky; top: 0; z-index: 40;
  display: flex; align-items: center; gap: var(--gap);
  padding: 12px var(--pad);
  background: rgba(12, 17, 20, .93);
  border-bottom: 1px solid var(--ln);
  backdrop-filter: blur(9px);
}
.sable-logo { display: flex; align-items: center; gap: 11px; color: var(--tx); text-decoration: none }
.sable-logo:hover { text-decoration: none }
.sable-logo__svg { width: 34px; height: 34px; flex: 0 0 34px }
.sable-logo__t { display: flex; flex-direction: column; font-size: 18px; line-height: 1.1 }
.sable-logo__sub { font-size: 11px; font-weight: 500; color: var(--tx-d); letter-spacing: .03em; margin-top: 3px }
.sable-nav { display: flex; gap: 18px; margin-left: auto; flex-wrap: wrap }
.sable-nav a { color: var(--tx-d); font: 500 14px/1 "Onest", system-ui, sans-serif }
.sable-nav a:hover { color: var(--am); text-decoration: none }

/* ---------- CTA ---------- */
.sable-cta {
  display: inline-block;
  padding: 12px 22px;
  border: 1px solid var(--am-d);
  border-radius: 0 13px 0 13px;
  color: var(--am);
  font-size: 14px;
  transition: background .16s, color .16s, transform .16s;
}
.sable-cta:hover { background: rgba(232, 208, 138, .12); text-decoration: none; transform: translateY(-1px) }
.sable-cta--sm { padding: 9px 16px; font-size: 13px }
.sable-cta--lg { padding: 15px 28px; font-size: 15.5px }
.sable-cta--hot { background: var(--am); color: #0c1114; border-color: var(--am) }
.sable-cta--hot:hover { background: var(--am-d); color: #0c1114 }
.sable-cta--ghost { border-color: var(--ln-2); color: var(--tx-d) }
.sable-cta--ghost:hover { color: var(--tx); border-color: var(--sl) }
.sable-cta--card { padding: 9px 14px; font-size: 12.5px; margin-top: auto }
.sable-actline { margin: 22px 0 0 }

/* ---------- hero ---------- */
.sable-hero { padding: clamp(30px, 4.5vw, 62px) var(--pad) 0 }
.sable-hero__grid {
  display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  gap: clamp(20px, 3vw, 46px); align-items: start;
}
.sable-chip {
  display: inline-block; font-size: 12px; font-weight: 600; color: var(--sl);
  border: 1px solid var(--ln-2); border-left: 3px solid var(--am);
  padding: 6px 13px; letter-spacing: .03em;
}
.sable-hero__sub { color: #cfdae0; font-size: 17px; max-width: 62ch }
.sable-hero__btns { display: flex; gap: 12px; flex-wrap: wrap; margin: 22px 0 26px }
.sable-hero__art {
  border: 1px solid var(--ln); border-radius: 0 22px 0 22px; overflow: hidden;
  background: var(--sf);
}
.sable-kpi { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px }
.sable-kpi__i {
  border-top: 2px solid var(--am); background: var(--sf); padding: 13px 14px;
}
.sable-kpi__n { display: block; font-size: 21px; color: var(--tx) }
.sable-kpi__l { display: block; font-size: 12.5px; color: var(--tx-d); margin-top: 3px }

.sable-agg {
  list-style: none; margin: clamp(24px, 3vw, 44px) 0 0; padding: 18px 0;
  border-top: 1px solid var(--ln); border-bottom: 1px solid var(--ln);
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px;
}
.sable-agg__n { display: block; font-size: 19px; color: var(--am); font-family: "Onest", system-ui, sans-serif; font-weight: 700 }
.sable-agg__l { display: block; font-size: 12.5px; color: var(--tx-d); margin-top: 4px }

/* ---------- sections ---------- */
.sable-sec { padding: clamp(34px, 5vw, 72px) var(--pad) }
.sable-sec + .sable-sec { border-top: 1px solid var(--ln) }
.sable-ovr {
  font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--sl); margin: 0 0 4px;
}
.sable-lead { color: #cfdae0; max-width: 88ch }

/* ---------- welcome ---------- */
.sable-pack { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap); margin-top: 24px }
.sable-dep {
  position: relative; background: var(--sf); border: 1px solid var(--ln);
  border-left: 3px solid var(--am); border-radius: 0 16px 0 16px; padding: 22px 20px 18px;
}
.sable-dep__n {
  position: absolute; top: 14px; right: 18px; font-size: 30px; color: var(--ln-2);
}
.sable-dep p { color: var(--tx-d); font-size: 15px; margin: 0 }
.sable-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap); margin-top: var(--gap) }
.sable-step { background: var(--sf-2); border: 1px dashed var(--ln-2); padding: 18px 20px }
.sable-step__n { display: block; font-size: 13px; color: var(--am); letter-spacing: .12em; margin-bottom: 6px }
.sable-step p { color: var(--tx-d); font-size: 14.5px; margin: 0 }

/* ---------- catalog ---------- */
.sable-cat { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gap); margin-top: 26px }
.sable-card {
  display: flex; flex-direction: column;
  background: var(--sf); border: 1px solid var(--ln); border-radius: 0 16px 0 16px;
  padding: 18px 18px 16px;
}
.sable-card:hover { border-color: var(--sl-d) }
.sable-card__meta { font-size: 12px; color: var(--am); font-weight: 600; margin: 0 0 9px }
.sable-card p:not(.sable-card__meta) { font-size: 14px; color: var(--tx-d); margin: 0 0 14px }
.sable-tags { margin-top: 26px; border-top: 1px solid var(--ln); padding-top: 18px }
.sable-tags__t { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--sl); margin: 0 0 10px }
.sable-tags__l { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 }
.sable-tag {
  font-size: 12.5px; color: var(--tx-d); border: 1px solid var(--ln-2);
  padding: 5px 11px; border-radius: 999px;
}

/* ---------- live ---------- */
.sable-live { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap); margin-top: 26px }
.sable-lv {
  position: relative; background: linear-gradient(180deg, var(--sf-2), var(--sf));
  border: 1px solid var(--ln); border-bottom: 3px solid var(--sl-d); padding: 20px 20px 18px;
}
.sable-lv__badge {
  position: absolute; top: 0; right: 0; background: var(--sl-d); color: #0c1114;
  font: 700 10.5px/1 "Onest", system-ui, sans-serif; letter-spacing: .1em; padding: 6px 10px;
}
.sable-lv p:not(.sable-card__meta) { font-size: 14px; color: var(--tx-d); margin: 0 }

/* ---------- tables ---------- */
.sable-scroll { overflow-x: auto; margin-top: 22px; border: 1px solid var(--ln) }
.sable-tbl { width: 100%; border-collapse: collapse; min-width: 620px; font-size: 14.5px }
.sable-tbl th {
  text-align: left; padding: 13px 16px; background: var(--sf-2); color: var(--sl);
  font-size: 12px; letter-spacing: .1em; text-transform: uppercase; border-bottom: 1px solid var(--ln);
}
.sable-tbl td { padding: 12px 16px; border-bottom: 1px solid var(--ln); color: var(--tx-d) }
.sable-tbl tr td:first-child { color: var(--am); font-family: "Onest", system-ui, sans-serif; font-weight: 600 }
.sable-tbl tr:last-child td { border-bottom: 0 }

.sable-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap); margin-top: var(--gap) }
.sable-two > div { background: var(--sf); border: 1px solid var(--ln); padding: 20px 22px; border-radius: 0 16px 0 16px }
.sable-two p { color: var(--tx-d); font-size: 15px; margin: 0 }

/* ---------- overview blocks ---------- */
.sable-ov { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap); margin-top: 24px }
.sable-ov > div { border-left: 2px solid var(--ln-2); padding: 4px 0 4px 20px }
.sable-ov > div:hover { border-left-color: var(--am) }
.sable-ov p { color: var(--tx-d); font-size: 15px; margin: 0 }
.sable-badges { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px }
.sable-badge {
  font-size: 12px; color: var(--sl); border: 1px solid var(--ln-2);
  border-radius: 0 9px 0 9px; padding: 7px 13px; background: var(--sf);
}

/* ---------- tournament ---------- */
.sable-tourkpi {
  list-style: none; margin: 24px 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gap);
}
.sable-tourkpi li {
  background: var(--sf); border: 1px solid var(--ln); border-top: 2px solid var(--sl);
  padding: 16px 18px; font-size: 13.5px; color: var(--tx-d);
}
.sable-tourkpi span { display: block; font-size: 24px; color: var(--tx); margin-bottom: 4px }

/* ---------- reviews ---------- */
.sable-rev { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap); margin-top: 22px }
.sable-rev article {
  background: var(--sf); border: 1px solid var(--ln); border-radius: 0 16px 0 16px; padding: 20px 22px;
}
.sable-stars { color: var(--am); letter-spacing: .16em; margin: 0 0 10px; font-size: 15px }
.sable-rev__q { font-size: 15px; color: #cfdae0; margin: 0 0 12px }
.sable-rev__m { font-size: 12.5px; color: var(--tx-d); margin: 0 }

/* ---------- author ---------- */
.sable-author { background: var(--sf-2) }
.sable-author p { color: var(--tx-d); max-width: 92ch; font-size: 15.5px }

/* ---------- FAQ ---------- */
.sable-faq { margin-top: 20px; border-top: 1px solid var(--ln) }
.sable-faq details { border-bottom: 1px solid var(--ln) }
.sable-faq summary {
  cursor: pointer; list-style: none; padding: 15px 40px 15px 0; position: relative;
  font-size: 16px; color: var(--tx);
}
.sable-faq summary::-webkit-details-marker { display: none }
.sable-faq summary::after {
  content: "+"; position: absolute; right: 8px; top: 13px; color: var(--am); font-size: 20px;
}
.sable-faq details[open] summary::after { content: "–" }
.sable-faq details[open] summary { color: var(--am) }
.sable-faq p { color: var(--tx-d); font-size: 15px; padding: 0 0 16px; margin: 0; max-width: 92ch }

/* ---------- pre-footer ---------- */
.sable-final {
  padding: clamp(38px, 5vw, 72px) var(--pad);
  border-top: 1px solid var(--ln);
  background:
    radial-gradient(680px 320px at 50% 0%, rgba(232, 208, 138, .10) 0%, transparent 66%),
    var(--sf);
  text-align: center;
}
.sable-final__t { font-size: clamp(20px, 2.4vw, 29px); line-height: 1.26; margin: 0 auto 10px; max-width: 26ch }
.sable-final__s { color: var(--tx-d); font-size: 15px; margin: 0 auto 22px; max-width: 60ch }

/* ---------- footer ---------- */
.sable-foot { padding: clamp(30px, 4vw, 52px) var(--pad) 26px; border-top: 1px solid var(--ln) }
.sable-foot__top { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.75fr); gap: clamp(20px, 3vw, 44px) }
.sable-foot__brand .sable-logo__svg { width: 40px; height: 40px }
.sable-foot__name { font-size: 17px; margin: 10px 0 8px }
.sable-foot__legal { font-size: 13px; color: var(--tx-d); max-width: 52ch; margin: 0 }
.sable-foot__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap) }
.sable-foot__cols div { display: flex; flex-direction: column; gap: 7px }
.sable-foot__h { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--sl); margin: 0 0 4px }
.sable-foot__cols a { font-size: 14px; color: var(--tx-d) }
.sable-foot__cols a:hover { color: var(--am) }
.sable-foot__bot {
  margin: clamp(24px, 3vw, 40px) 0 0; padding-top: 18px; border-top: 1px solid var(--ln);
  font-size: 12.5px; color: var(--tx-d);
}

/* ---------- adaptive ---------- */
@media (max-width: 1080px) {
  .sable-hero__grid { grid-template-columns: 1fr }
  .sable-hero__art { order: 2 }
  .sable-cat { grid-template-columns: repeat(3, minmax(0, 1fr)) }
  .sable-agg { grid-template-columns: repeat(3, minmax(0, 1fr)) }
  .sable-foot__top { grid-template-columns: 1fr }
}
@media (max-width: 860px) {
  .sable-nav { display: none }
  .sable-cat { grid-template-columns: repeat(2, minmax(0, 1fr)) }
  .sable-live { grid-template-columns: repeat(2, minmax(0, 1fr)) }
  .sable-pack, .sable-steps, .sable-rev { grid-template-columns: 1fr }
  .sable-two, .sable-ov { grid-template-columns: 1fr }
  .sable-tourkpi { grid-template-columns: repeat(2, minmax(0, 1fr)) }
  .sable-kpi { grid-template-columns: repeat(2, minmax(0, 1fr)) }
}
@media (max-width: 620px) {
  body { font-size: 16px }
  .sable-bar { flex-wrap: wrap; gap: 10px }
  .sable-cta--sm { margin-left: auto }
  .sable-cat, .sable-live, .sable-agg, .sable-tourkpi, .sable-kpi { grid-template-columns: 1fr }
  .sable-foot__cols { grid-template-columns: 1fr }
  .sable-hero__btns .sable-cta { width: 100% ; text-align: center }
}
