:root {
  --bg-main: #e9e9e7;
  --bg-soft: #f2f1ee;
  --bg-card: #ffffff;
  --bg-dark: #1d1d1d;
  --line: #d6d2cb;
  --text: #1f2124;
  --muted: #5f646b;
  --red: #bb1e26;
  --red-dark: #8d1319;
  --red-soft: #f8d8da;
  --gold: #c7a45b;
  --gold-soft: #f7f0de;
  --shadow: 0 22px 60px rgba(20, 18, 15, 0.08);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.65), transparent 28%),
    radial-gradient(circle at 80% 0%, rgba(255,255,255,.45), transparent 24%),
    linear-gradient(180deg, #efefec 0%, #e7e5e0 100%);
  background-attachment: fixed;
  padding-top: 82px;
  line-height: 1.7;
}
h1, h2, h3, h4, h5, h6, .brand-text { font-family: "Playfair Display", serif; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
.site-header {
  background: rgba(247,246,242,.9);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(90,90,90,.08);
}
.navbar { min-height: 82px; }
.navbar-brand { font-weight: 700; }
.brand-mark {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #2b2b2b, #636363);
  color: #fff;
  font-weight: 800;
  box-shadow: 0 12px 26px rgba(0,0,0,.14);
}
.brand-text { font-size: 1.15rem; }
.navbar .nav-link {
  color: var(--muted);
  font-weight: 600;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus { color: var(--red-dark); }
.navbar-toggler { border-color: rgba(0,0,0,.08); }
.navbar-toggler-icon { filter: invert(.18); }
.btn {
  border-radius: 999px;
  padding: .9rem 1.35rem;
  font-weight: 700;
  letter-spacing: .01em;
}
.btn-primary {
  background: linear-gradient(135deg, var(--red), var(--red-dark));
  border: none;
  color: #fff;
  box-shadow: 0 14px 28px rgba(187,30,38,.22);
}
.btn-primary:hover,
.btn-primary:focus { background: linear-gradient(135deg, #cb212b, #a1161e); color: #fff; }
.btn-outline-primary {
  color: var(--red-dark);
  border: 1px solid rgba(187,30,38,.36);
  background: rgba(255,255,255,.7);
}
.btn-outline-primary:hover,
.btn-outline-primary:focus { background: rgba(187,30,38,.08); color: var(--red-dark); border-color: var(--red); }
.section { padding: 100px 0; }
.eyebrow {
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: .82rem;
  color: var(--red-dark);
  margin-bottom: .6rem;
  font-weight: 700;
}
.eyebrow.light { color: rgba(255,255,255,.72); }
.muted, .section-title p, .lead { color: var(--muted); }
.section-title { max-width: 820px; }
.section-title.light p, .section-title.light { color: rgba(255,255,255,.78); }
.hero {
  position: relative;
  overflow: hidden;
  padding: 118px 0 104px;
  color: #fff;
  background:
    linear-gradient(120deg, rgba(20, 20, 22, .82), rgba(27, 18, 19, .78)),
    url('/files/hero.webp') center/cover no-repeat;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 15% 20%, rgba(187,30,38,.22), transparent 36%),
    radial-gradient(circle at 84% 10%, rgba(199,164,91,.16), transparent 34%);
}
.hero-glow {
  position: absolute;
  right: -90px;
  top: -70px;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, rgba(255,255,255,.18), transparent 64%);
  filter: blur(10px);
}
.hero .container { position: relative; z-index: 2; }
.hero-title { font-size: clamp(2.5rem, 5vw, 4.4rem); line-height: 1.08; }
.hero-lead { color: rgba(255,255,255,.8); max-width: 760px; }
.hero-list { display: grid; gap: 14px; }
.hero-list-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 15px 16px;
  border-radius: 20px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(8px);
}
.hero-list-item h6, .hero-list-item p { margin: 0; }
.hero-list-item h6 { color: #fff; margin-bottom: .25rem; }
.hero-list-item p { color: rgba(255,255,255,.72); }
.icon-badge, .icon-circle, .quote-icon, .panel-icon {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  flex-shrink: 0;
}
.icon-badge {
  background: rgba(199,164,91,.18);
  color: #f4d69b;
}
.hero-media {
  position: relative;
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.16);
}
.hero-media img { width: 100%; height: 560px; object-fit: cover; display: block; }
.hero-media-card {
  position: absolute;
  inset: auto 20px 20px 20px;
  padding: 20px;
  border-radius: 20px;
  background: rgba(20,20,20,.74);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(10px);
}
.hero-chip {
  display: inline-flex;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  background: rgba(187,30,38,.18);
  color: #ffd8dc;
}
.hero-stats, .about-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.hero-stats > div, .about-stats > div {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  padding: 18px;
  border-radius: 18px;
}
.stat-value {
  display: block;
  font-family: "Playfair Display", serif;
  font-size: 2rem;
  line-height: 1;
  color: var(--gold);
}
.stat-label { color: rgba(255,255,255,.72); font-size: .95rem; }
.partner-banners {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 36px;
}
.partner-banner {
  position: relative;
  display: block;
  padding: 24px 24px 26px;
  border-radius: 24px;
  overflow: hidden;
  min-height: 220px;
  box-shadow: var(--shadow);
}
.partner-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(140deg, rgba(255,255,255,.14), transparent 40%);
}
.partner-banner > * { position: relative; z-index: 1; }
.partner-banner.rizk { background: linear-gradient(135deg, #7c0e15, #c61f28 55%, #90151c); color: #fff; }
.partner-banner.arena { background: linear-gradient(135deg, #fffdf7, #ffffff 60%, #f4ecd8); border: 2px solid rgba(199,164,91,.72); color: #221d16; }
.partner-banner .mini-label { display: inline-block; font-size: .78rem; text-transform: uppercase; letter-spacing: .14em; opacity: .8; }
.partner-banner h3 { font-size: 2rem; margin: .55rem 0 .45rem; }
.partner-banner p { max-width: 480px; margin-bottom: 1rem; }
.partner-banner .banner-link { font-weight: 800; }
.offers-grid {
  display: grid;
  grid-template-columns: 1.1fr 1.1fr .8fr;
  gap: 22px;
  align-items: start;
}
.offer-spotlight, .offer-aside, .platforma-card, .platforma-panel, .prednosti-card, .prednosti-panel, .faq-card, .form-card, .legal-card, .auth-card {
  border-radius: 28px;
  box-shadow: var(--shadow);
}
.offer-spotlight {
  padding: 28px;
  background: linear-gradient(180deg, #c32029, #98151b);
  color: #fff;
}
.offer-spotlight.alt {
  background: linear-gradient(180deg, #ffffff, #fbf8ef);
  color: var(--text);
  border: 2px solid rgba(199,164,91,.7);
}
.offer-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: start;
  margin-bottom: 24px;
}
.offer-brand { display: flex; gap: 16px; align-items: start; }
.offer-brand img {
  width: 78px;
  height: 78px;
  object-fit: contain;
  border-radius: 18px;
  background: rgba(255,255,255,.1);
  padding: 8px;
}
.offer-spotlight.alt .offer-brand img { background: #fff8ea; }
.offer-label {
  display: inline-flex;
  padding: 5px 12px;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .09em;
  background: rgba(255,255,255,.14);
}
.offer-spotlight.alt .offer-label { background: var(--gold-soft); color: #6f5520; }
.offer-score {
  min-width: 92px;
  text-align: center;
  padding: 14px 12px;
  border-radius: 18px;
  background: rgba(255,255,255,.1);
}
.offer-spotlight.alt .offer-score { background: #faf6eb; }
.rating { display: block; font-size: 2rem; font-weight: 800; line-height: 1; }
.score-note { font-size: .82rem; opacity: .8; }
.casino-text { opacity: .92; }
.offer-list { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 12px; }
.offer-list li { display: flex; gap: 10px; align-items: flex-start; }
.offer-list i { font-size: 1.05rem; margin-top: 2px; }
.offer-meta, .panel-badges, .prednosti-badges, .footer-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.tag, .badge.soft, .chip {
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: .84rem;
  font-weight: 700;
}
.offer-spotlight .tag { background: rgba(255,255,255,.12); color: #fff; }
.offer-spotlight.alt .tag { background: var(--gold-soft); color: #6e5623; }
.offer-aside {
  padding: 28px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(0,0,0,.05);
  backdrop-filter: blur(12px);
}
.offer-aside-grid {
  display: grid;
  gap: 16px;
  margin-top: 20px;
}
.notice-card {
  background: linear-gradient(180deg, #ffffff, #f6f2ec);
  border: 1px solid rgba(187,30,38,.12);
  border-radius: 22px;
  padding: 20px;
}
.platforma-head, .platforma-split, .prednosti-panels {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 22px;
  align-items: start;
}
.platforma-quote, .platforma-panel, .prednosti-panel, .faq-card, .form-card, .legal-card, .auth-card {
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(0,0,0,.05);
  backdrop-filter: blur(10px);
  padding: 28px;
}
.quote-icon, .icon-circle, .panel-icon {
  background: rgba(187,30,38,.08);
  color: var(--red-dark);
}
.platforma-grid, .prednosti-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.platforma-card, .prednosti-card {
  padding: 24px;
  background: rgba(255,255,255,.8);
  border: 1px solid rgba(0,0,0,.05);
}
.platforma-card.primary {
  background: linear-gradient(180deg, #fff, #f8e6e7);
  border-color: rgba(187,30,38,.18);
}
.steps { display: grid; gap: 16px; margin-top: 24px; }
.step-item { display: flex; gap: 14px; align-items: flex-start; }
.step-number {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--red), var(--red-dark));
  color: #fff;
  font-weight: 800;
  flex-shrink: 0;
}
.progress { height: 10px; border-radius: 999px; background: #ece8df; overflow: hidden; }
.progress-bar { background: linear-gradient(135deg, var(--red), var(--gold)); }
.prednosti-parallax {
  position: relative;
  color: #fff;
  background:
    linear-gradient(130deg, rgba(18,18,21,.9), rgba(30,20,21,.82)),
    url('/files/hero2.webp') center/cover no-repeat;
}
.prednosti-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 20%, rgba(187,30,38,.22), transparent 34%);
}
.prednosti-parallax .container { position: relative; z-index: 1; }
.prednosti-card, .prednosti-panel { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.12); color: #fff; }
.prednosti-card p, .prednosti-panel p, .prednosti-panel span, .prednosti-panel .badge.soft { color: rgba(255,255,255,.82); }
.prednosti-panel.highlight { background: rgba(187,30,38,.24); }
.badge.soft, .chip { background: rgba(187,30,38,.1); color: var(--red-dark); }
.prednosti-panel .badge.soft { background: rgba(255,255,255,.12); color: #fff; }
.contact-faq .accordion-item,
.contact-faq .accordion-button,
.contact-faq .accordion-body {
  background: transparent;
}
.contact-faq .accordion-item { border: none; border-top: 1px solid rgba(0,0,0,.08); }
.contact-faq .accordion-item:first-child { border-top: none; }
.contact-faq .accordion-button {
  box-shadow: none;
  padding-left: 0;
  padding-right: 0;
  font-weight: 700;
}
.contact-faq .accordion-button:not(.collapsed) {
  color: var(--red-dark);
}
.contact-faq .accordion-body { padding-left: 0; padding-right: 0; color: var(--muted); }
.form-control {
  border-radius: 16px;
  border: 1px solid #d7d2ca;
  padding: .95rem 1rem;
  background: rgba(255,255,255,.92);
}
.form-control:focus {
  border-color: rgba(187,30,38,.4);
  box-shadow: 0 0 0 .2rem rgba(187,30,38,.08);
}
.site-footer {
  padding: 96px 0 54px;
  background: linear-gradient(180deg, #1e1b1b, #111010);
  color: #f2efeb;
}
.footer-hero {
  display: grid;
  grid-template-columns: 1fr .95fr;
  gap: 22px;
  align-items: start;
}
.footer-hero-card {
  padding: 28px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.1);
}
.footer-links li + li { margin-top: 8px; }
.footer-links a:hover { color: #ffffff; }
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.68);
}
.ft-logos {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.ft-org-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
}
.legal-wrap { padding: 112px 0 86px; }
.legal-card h1, .auth-card h1 { margin-bottom: 1rem; }
.legal-card h2 { font-size: 1.35rem; margin-top: 2rem; }
.legal-card ul { padding-left: 1.2rem; }
.auth-wrap { padding: 112px 0 86px; }
.auth-card { max-width: 680px; margin: 0 auto; }
.auth-card .alert { border-radius: 16px; }
@media (max-width: 1199px) {
  .offers-grid { grid-template-columns: 1fr 1fr; }
  .offer-aside { grid-column: 1 / -1; }
  .platforma-grid, .prednosti-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
  body { padding-top: 76px; }
  .navbar-collapse {
    margin-top: 14px;
    padding: 18px;
    border-radius: 22px;
    background: rgba(255,255,255,.96);
    box-shadow: var(--shadow);
  }
  .hero, .section, .site-footer, .legal-wrap, .auth-wrap { padding-top: 84px; padding-bottom: 84px; }
  .hero-media img { height: 420px; }
  .partner-banners,
  .platforma-head,
  .platforma-split,
  .prednosti-panels,
  .footer-hero { grid-template-columns: 1fr; }
  .offers-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .hero-title { font-size: 2.3rem; }
  .hero-stats, .about-stats, .platforma-grid, .prednosti-grid, .partner-banners { grid-template-columns: 1fr; }
  .hero-media img { height: 320px; }
  .offer-head, .offer-brand { flex-direction: column; }
  .offer-score { width: 100%; }
  .footer-bottom { flex-direction: column; }
}
