/* ============================================================
   Mostbet APK Landing — стилистика по образцу bc-game-brazil.com
   Адаптировано под бренд Mostbet (оранжевый акцент)
   ============================================================ */

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background: #f6f7fa;
  color: #1c1e22;
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }

.container { max-width: 1140px; margin: 0 auto; padding: 0 16px; }

/* =========== HEADER =========== */
.site-header {
  background: #ffffff;
  box-shadow: 0 4px 33px rgba(0,0,0,.08);
  padding: 18px 0;
  position: sticky;
  top: 0;
  z-index: 100;
}
.site-header__row {
  display: grid;
  grid-template-columns: max-content 1fr max-content max-content;
  gap: 20px;
  align-items: center;
}
.site-header__logo img { height: 44px; width: auto; }
.site-header__logo-text {
  font-weight: 800;
  font-size: 18px;
  color: #1c1e22;
  display: flex;
  align-items: center;
  gap: 10px;
}
.site-header__logo-text span { color: #FF6600; }
.site-header__menu { display: flex; gap: 24px; align-items: center; }
.site-header__menu a {
  color: #1c1e22;
  font-size: 14px;
  font-weight: 500;
  transition: color .2s;
}
.site-header__menu a:hover { color: #FF6600; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: 6px;
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .3px;
  transition: all .2s;
  border: none;
  cursor: pointer;
  font-family: inherit;
}
.btn-primary {
  background: linear-gradient(180deg, #FF8C00, #FF6600);
  color: #fff;
  box-shadow: 0 4px 12px rgba(255,102,0,.35);
}
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(255,102,0,.45); }
.btn-outline {
  background: #fff;
  border: 2px solid #FF6600;
  color: #FF6600;
}
.btn-outline:hover { background: #FF6600; color: #fff; }
.btn-lg { padding: 16px 32px; font-size: 16px; }

.site-header__btn-mob {
  display: none;
  width: 42px; height: 42px;
  background: #FF6600;
  border: none;
  border-radius: 4px;
  color: #fff;
  font-size: 18px;
  cursor: pointer;
}

@media (max-width: 900px) {
  .site-header__menu, .site-header__btn-reg { display: none; }
  .site-header__row { grid-template-columns: max-content 1fr max-content; }
  .site-header__btn-mob { display: flex; align-items: center; justify-content: center; }
}

/* Mobile menu */
.mob-menu {
  display: none;
  background: #fff;
  border-top: 1px solid #eee;
  padding: 16px;
}
.mob-menu.open { display: block; }
.mob-menu a {
  display: block;
  padding: 12px 0;
  font-size: 15px;
  border-bottom: 1px solid #f0f0f0;
  color: #1c1e22;
}
.mob-menu a:last-of-type { border-bottom: none; }

/* =========== HERO BANNER =========== */
.header-banner {
  background: #1c1e22;
  background-image:
    radial-gradient(ellipse at top right, rgba(255,102,0,.25) 0%, transparent 50%),
    radial-gradient(ellipse at bottom left, rgba(255,140,0,.15) 0%, transparent 50%);
  padding: 50px 0 60px;
  margin-bottom: 40px;
  border-bottom: 4px solid #FF6600;
}
.header-banner__row {
  display: grid;
  grid-template-columns: 55% 45%;
  gap: 30px;
  align-items: center;
}
.header-banner h1 {
  color: #fff;
  font-size: 46px;
  font-weight: 700;
  line-height: 1.15;
  margin: 0 0 20px;
}
.header-banner h1 span {
  background: linear-gradient(180deg, #FFB347, #FF6600);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 800;
}
.header-banner__desc {
  color: #cfd1d6;
  font-size: 15px;
  margin: 0 0 28px;
  line-height: 1.7;
}
.header-banner__desc code {
  background: rgba(255,102,0,.2);
  color: #FFB347;
  padding: 2px 8px;
  border-radius: 4px;
  font-family: 'SFMono-Regular', Menlo, monospace;
  font-size: 13px;
}
.header-banner__buttons { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 28px; }
.header-banner__buttons .btn {
  background: linear-gradient(180deg, #FF8C00, #FF6600);
  color: #fff;
  font-size: 15px;
  padding: 14px 24px;
}
.header-banner__buttons .btn:hover { transform: translateY(-2px); }
.header-banner__buttons .btn-white {
  background: #fff;
  color: #1c1e22;
}
.header-banner__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  max-width: 480px;
}
.stat-box {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  padding: 12px 8px;
  text-align: center;
  backdrop-filter: blur(4px);
}
.stat-box__value { font-size: 20px; font-weight: 800; color: #FF8C00; }
.stat-box__label { font-size: 11px; color: #9ca0a8; margin-top: 4px; }
.header-banner__img img { border-radius: 12px; box-shadow: 0 20px 40px rgba(0,0,0,.4); }

@media (max-width: 900px) {
  .header-banner { padding: 35px 0 40px; }
  .header-banner__row { grid-template-columns: 1fr; gap: 24px; }
  .header-banner h1 { font-size: 30px; }
  .header-banner__img { order: -1; }
  .header-banner__stats { grid-template-columns: repeat(2, 1fr); }
}

/* =========== TABLE OF CONTENTS =========== */
.toc {
  background: #fff;
  border: 1px solid #e7e9ee;
  border-radius: 10px;
  padding: 24px 28px;
  margin: 0 0 40px;
}
.toc__title {
  font-size: 18px;
  font-weight: 700;
  color: #1c1e22;
  margin: 0 0 14px;
  padding-left: 36px;
  position: relative;
}
.toc__title::before {
  content: '';
  position: absolute; left: 0; top: 50%;
  transform: translateY(-50%);
  width: 26px; height: 26px;
  background: #FF6600;
  border-radius: 4px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='white'><path d='M2 4h12v2H2zm0 3h12v2H2zm0 3h12v2H2z'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
}
.toc ol {
  margin: 0;
  padding: 0 0 0 22px;
  columns: 2;
  column-gap: 32px;
}
.toc ol li { margin-bottom: 6px; font-size: 14px; padding-left: 4px; }
.toc ol li a { color: #2563eb; transition: color .2s; }
.toc ol li a:hover { color: #FF6600; text-decoration: underline; }
@media (max-width: 700px) {
  .toc ol { columns: 1; }
  .toc { padding: 18px 18px 18px 22px; }
}

/* =========== POST ENTRY =========== */
.post-entry { background: #fff; padding: 0; }
.post-wrapper {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 16px 60px;
}
.post-entry h2 {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  margin: 40px 0 18px;
  padding-left: 46px;
  position: relative;
  color: #1c1e22;
}
.post-entry h2::before {
  content: '';
  position: absolute;
  left: 0; top: 50%;
  transform: translateY(-50%);
  width: 32px; height: 32px;
  background: #FF6600;
  border-radius: 4px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='white'><path d='M12 2l2.4 7.4H22l-6.2 4.5 2.4 7.4L12 16.8 5.8 21.3l2.4-7.4L2 9.4h7.6L12 2z'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
}
.post-entry h3 {
  font-size: 22px;
  font-weight: 700;
  margin: 28px 0 14px;
  color: #1c1e22;
}
.post-entry h4 {
  font-size: 18px;
  font-weight: 700;
  margin: 22px 0 12px;
  color: #1c1e22;
}
.post-entry p { margin: 0 0 16px; color: #313338; font-size: 15px; line-height: 1.7; }
.post-entry strong { color: #1c1e22; font-weight: 700; }
.post-entry a { color: #FF6600; text-decoration: underline; }
.post-entry a:hover { color: #cc5200; }
.post-entry ol, .post-entry ul { margin: 0 0 18px; padding-left: 22px; }
.post-entry ol li, .post-entry ul li { margin-bottom: 10px; line-height: 1.7; }
.post-entry ol li::marker, .post-entry ul li::marker { color: #FF6600; font-weight: 700; }

.post-entry img.full-img {
  width: 100%;
  border-radius: 8px;
  margin: 20px 0;
  box-shadow: 0 4px 20px rgba(0,0,0,.08);
}

/* =========== TABLES =========== */
.post-entry table {
  width: 100%;
  border-collapse: collapse;
  margin: 18px 0 24px;
  border: 1px solid #e7e9ee;
  border-radius: 8px;
  overflow: hidden;
  font-size: 14px;
}
.post-entry table thead { background: #1c1e22; color: #fff; }
.post-entry table th { padding: 14px 16px; text-align: left; font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: .3px; }
.post-entry table td { padding: 12px 16px; border-bottom: 1px solid #e7e9ee; vertical-align: top; }
.post-entry table tr:nth-child(even) td { background: #f9fafb; }
.post-entry table tr:last-child td { border-bottom: none; }
.post-entry table td strong { color: #FF6600; }

.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* =========== BONUS REVIEW CARD (повторяющийся CTA) =========== */
.review-card {
  background: linear-gradient(180deg, #fff, #fef6ee);
  border: 2px solid #FF6600;
  border-radius: 12px;
  margin: 30px 0;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(255,102,0,.12);
  display: grid;
  grid-template-columns: 200px 1fr 200px;
  gap: 0;
  align-items: stretch;
}
.review-card__bonus {
  background: linear-gradient(135deg, #FF8C00, #FF6600);
  color: #fff;
  padding: 24px 16px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.review-card__bonus .big {
  font-size: 44px;
  font-weight: 900;
  line-height: 1;
  text-shadow: 0 2px 6px rgba(0,0,0,.15);
}
.review-card__bonus .small { font-size: 12px; margin-top: 6px; opacity: .95; font-weight: 600; }
.review-card__bonus .promo-pill {
  display: inline-block;
  margin-top: 10px;
  background: rgba(255,255,255,.25);
  border: 1px solid rgba(255,255,255,.4);
  border-radius: 20px;
  padding: 4px 12px;
  font-family: 'SFMono-Regular', Menlo, monospace;
  font-size: 12px;
  font-weight: 700;
}
.review-card__body { padding: 20px 24px; }
.review-card__body h3 {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 8px;
  color: #1c1e22;
}
.review-card__body p { font-size: 13px; color: #555; margin: 0 0 12px; line-height: 1.6; }
.review-card__meta {
  display: flex;
  gap: 14px;
  font-size: 11px;
  color: #6b7280;
  flex-wrap: wrap;
}
.review-card__meta i { color: #16a34a; }
.review-card__cta {
  background: #1c1e22;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px;
  gap: 10px;
}
.review-card__cta a.btn {
  background: linear-gradient(180deg, #FF8C00, #FF6600);
  color: #fff;
  width: 100%;
  font-size: 14px;
  padding: 12px 18px;
}
.review-card__cta .details {
  color: #9ca0a8;
  font-size: 11px;
  text-align: center;
  text-decoration: underline;
}

@media (max-width: 800px) {
  .review-card { grid-template-columns: 1fr; }
  .review-card__bonus { padding: 18px; }
  .review-card__bonus .big { font-size: 36px; }
  .review-card__cta { padding: 16px; }
}

/* =========== FAQ =========== */
.faq-item {
  background: #fff;
  border: 1px solid #e7e9ee;
  border-radius: 8px;
  margin-bottom: 10px;
  overflow: hidden;
  transition: border-color .2s;
}
.faq-item[open] { border-color: #FF6600; }
.faq-item summary {
  padding: 16px 50px 16px 20px;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  list-style: none;
  position: relative;
  color: #1c1e22;
  user-select: none;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: '+';
  position: absolute;
  right: 18px; top: 50%;
  transform: translateY(-50%);
  width: 26px; height: 26px;
  background: #FF6600;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 700;
  transition: transform .2s;
}
.faq-item[open] summary::after { content: '−'; transform: translateY(-50%) rotate(0deg); }
.faq-item__body { padding: 0 20px 18px; color: #444; font-size: 14px; line-height: 1.7; }

/* =========== ALERT 18+ =========== */
.alert-18 {
  background: #fff8e1;
  border-left: 4px solid #f59e0b;
  border-radius: 0 8px 8px 0;
  padding: 16px 20px;
  margin: 30px 0;
  font-size: 13px;
  color: #78350f;
  line-height: 1.6;
}
.alert-18 strong { display: block; font-size: 15px; margin-bottom: 6px; color: #92400e; }
.alert-18 a { color: #92400e; font-weight: 700; }

/* =========== FOOTER =========== */
.site-footer {
  background: #1c1e22;
  color: #cfd1d6;
  padding: 42px 0 24px;
  margin-top: 40px;
}
.site-footer__row {
  display: grid;
  grid-template-columns: max-content 1fr max-content;
  gap: 24px;
  align-items: center;
  margin-bottom: 30px;
}
.site-footer__logo { display: flex; align-items: center; gap: 10px; }
.site-footer__logo img { height: 40px; }
.site-footer__logo-text { font-weight: 800; font-size: 18px; color: #fff; }
.site-footer__logo-text span { color: #FF6600; }
.site-footer__menu ul {
  list-style: none;
  margin: 0; padding: 0;
  text-align: center;
}
.site-footer__menu ul li { display: inline-block; margin: 0 14px; }
.site-footer__menu ul li a { color: #fff; font-size: 13px; font-weight: 500; transition: color .2s; }
.site-footer__menu ul li a:hover { color: #FF6600; }
.site-footer__badge {
  display: flex; gap: 10px; align-items: center;
  font-size: 12px; color: #9ca0a8;
}
.site-footer__badge .age {
  background: #dc2626;
  color: #fff;
  font-weight: 800;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
}
.site-footer__copyr {
  border-top: 1px solid #31343c;
  padding-top: 22px;
  text-align: center;
  font-size: 13px;
  color: #6b7280;
}
.site-footer__about {
  text-align: center;
  font-size: 13px;
  color: #9ca0a8;
  max-width: 800px;
  margin: 0 auto 22px;
  line-height: 1.6;
}

@media (max-width: 800px) {
  .site-footer__row { grid-template-columns: 1fr; text-align: center; }
  .site-footer__logo { justify-content: center; }
  .site-footer__menu ul li { display: block; margin: 6px 0; }
  .site-footer__badge { justify-content: center; }
}

/* =========== UTILS =========== */
.scroll-mt { scroll-margin-top: 90px; }
.text-orange { color: #FF6600; }
