/**
 * SofiArt Design System v2 — minimal, non-invasive
 * Только токены + унифицированные кнопки + точечные фиксы.
 * НЕ переопределяет шрифты/типографику темы — она остаётся как есть (Inter).
 */

/* === Tokens === */
:root {
  /* Палитра */
  --c-bg:           #FFFFFF;
  --c-bg-alt:       #FAFAFA;
  --c-ink:          #1F2D33;
  --c-ink-muted:    #5F6E76;
  --c-line:         #E5DED0;
  --c-primary:      #2B434C;
  --c-primary-700: #1B2A30;
  --c-accent:       #436977;
  --c-accent-hover: #365763;
  --c-gold:         #C8A968;
  --c-gold-hover:   #B79550;
  --c-white:        #FFFFFF;

  /* Spacing */
  --s-1: 4px;  --s-2: 8px;  --s-3: 16px; --s-4: 24px;
  --s-5: 32px; --s-6: 48px; --s-7: 64px; --s-8: 96px;

  /* Радиусы */
  --r-sm: 8px; --r-md: 16px; --r-lg: 24px; --r-pill: 999px;

  /* Тени */
  --shadow-1: 0 1px 2px rgba(31,45,51,.04), 0 1px 1px rgba(31,45,51,.06);
  --shadow-2: 0 6px 18px rgba(31,45,51,.08), 0 2px 6px rgba(31,45,51,.06);
  --shadow-3: 0 18px 48px rgba(31,45,51,.14);

  --t-fast: 150ms;
  --easing: cubic-bezier(0.4, 0, 0.2, 1);
}

/* === Кнопки (единый стиль — без переопределения шрифта/размера) === */
.btn,
.cryptoExchange__button,
.about__button,
.animated-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: var(--s-2);
  padding: 14px 28px !important;
  min-height: 48px;
  width: auto !important;
  max-width: 100%;
  height: auto !important;
  line-height: 1.3 !important;
  white-space: normal;
  text-align: center;
  border-radius: var(--r-pill) !important;
  text-decoration: none;
  cursor: pointer;
  transition:
    background var(--t-fast) var(--easing),
    transform var(--t-fast) var(--easing),
    box-shadow var(--t-fast) var(--easing);
  box-sizing: border-box;
  margin-bottom: 0 !important;
}
.cryptoExchange__button,
.about__button,
.animated-button {
  background: var(--c-accent);
  color: var(--c-white);
  border: 1px solid var(--c-accent);
}
.cryptoExchange__button:hover,
.about__button:hover,
.animated-button:hover {
  background: var(--c-accent-hover);
  border-color: var(--c-accent-hover);
  color: var(--c-white);
  transform: translateY(-1px);
  box-shadow: var(--shadow-2);
  text-decoration: none;
}
.btn:focus-visible,
.cryptoExchange__button:focus-visible,
.about__button:focus-visible,
.animated-button:focus-visible {
  outline: 2px solid var(--c-gold);
  outline-offset: 2px;
}

/* === Premium hero для страниц локаций (компактный) === */
.location-page .location-hero {
  background:
    radial-gradient(ellipse at top right, rgba(200,169,104,0.14), transparent 60%),
    radial-gradient(ellipse at bottom left, rgba(67,105,119,0.20), transparent 60%),
    linear-gradient(135deg, #1F2D33 0%, #2B434C 50%, #1B2A30 100%);
  color: var(--c-white);
  padding-block: 72px 56px !important;
  position: relative;
  overflow: hidden;
  text-align: center;
}
.location-page .location-hero .location-container {
  max-width: 760px;
  margin-inline: auto;
  position: relative;
  z-index: 1;
}
/* Eyebrow */
.location-page .location-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: var(--c-gold);
  margin-bottom: 18px;
  padding: 8px 16px;
  background: rgba(200,169,104,0.08);
  border: 1px solid rgba(200,169,104,0.20);
  border-radius: 999px;
}
.location-page .location-hero__flag { font-size: 14px; letter-spacing: 0; }
/* H1 — компактнее, без огромного флага */
.location-page .location-hero__title {
  color: var(--c-white) !important;
  font-size: clamp(28px, 4vw, 48px) !important;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin: 0 0 12px !important;
}
.location-page .location-hero__subtitle {
  color: rgba(255,255,255,0.78);
  font-size: clamp(15px, 1.4vw, 17px);
  font-style: italic;
  margin: 0 0 24px !important;
}
/* Premium intro — короткий, ровный */
.location-page .location-hero__intro {
  color: rgba(255,255,255,0.92);
  font-size: clamp(15px, 1.3vw, 16px);
  line-height: 1.65;
  max-width: 640px;
  margin: 0 auto 28px !important;
  text-align: left;
}
.location-page .location-hero__cta { margin-top: 12px; }
/* Скрываем устаревшие абзацы/ссылки из старой структуры (на случай если кэш) */
.location-page .location-hero__text,
.location-page .location-hero__links { display: none !important; }

/* === Detail section (под hero) === */
.location-page .location-detail {
  padding-block: 72px !important;
  background: var(--c-bg) !important;
  position: relative;
  overflow: hidden;
}
.location-page .location-detail::before {
  content: '';
  position: absolute;
  top: -120px;
  right: -120px;
  width: 380px;
  height: 380px;
  background: url('../img/missionShape.webp') center/contain no-repeat;
  opacity: 0.10;
  transform: rotate(-20deg);
  pointer-events: none;
  z-index: 0;
}
.location-page .location-detail > * { position: relative; z-index: 1; }
.location-page .location-detail__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 24px;
  max-width: 980px;
  margin: 0 auto 48px;
}
.location-page .location-detail__block {
  background: var(--c-white);
  border: 1px solid var(--c-line);
  border-radius: 20px;
  padding: 32px;
  box-shadow: 0 2px 8px rgba(31,45,51,0.04), 0 12px 32px rgba(31,45,51,0.06);
  transition: transform .25s ease, box-shadow .25s ease;
}
.location-page .location-detail__block:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 12px rgba(31,45,51,0.06), 0 18px 40px rgba(31,45,51,0.10);
}
.location-page .location-detail__icon {
  font-size: 28px;
  margin-bottom: 12px;
  display: inline-block;
  padding: 12px;
  background: rgba(200,169,104,0.12);
  border-radius: 14px;
  line-height: 1;
}
.location-page .location-detail__title {
  font-size: clamp(20px, 2vw, 24px) !important;
  color: var(--c-primary) !important;
  font-weight: 700 !important;
  margin: 0 0 12px !important;
  letter-spacing: -0.01em;
}
.location-page .location-detail__text {
  color: var(--c-ink);
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 12px;
}
.location-page .location-detail__text:last-child { margin-bottom: 0; }
.location-page .location-detail__text--muted { color: var(--c-ink-muted); font-size: 14px; }

/* Asset chips */
.location-page .asset-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.location-page .asset-chip {
  display: inline-block;
  padding: 6px 14px;
  background: var(--c-primary);
  color: var(--c-white);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.4px;
}
.location-page .asset-chip--fiat {
  background: transparent;
  color: var(--c-primary);
  border: 1px solid var(--c-primary);
}

/* === Mini CTA cards (Калькулятор / Условия) === */
.location-page .location-cta-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  max-width: 980px;
  margin: 0 auto;
}
.location-page .location-cta-card {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 20px 24px;
  background: var(--c-white);
  border: 1px solid var(--c-line);
  border-radius: 16px;
  text-decoration: none !important;
  color: var(--c-ink);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.location-page .location-cta-card:hover {
  transform: translateY(-2px);
  border-color: var(--c-gold);
  box-shadow: 0 10px 28px rgba(31,45,51,0.10);
}
.location-page .location-cta-card__icon {
  font-size: 28px;
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(200,169,104,0.18), rgba(67,105,119,0.12));
  border-radius: 14px;
}
.location-page .location-cta-card__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}
.location-page .location-cta-card__title {
  font-weight: 700;
  font-size: 17px;
  color: var(--c-primary);
}
.location-page .location-cta-card__arrow {
  font-size: 14px;
  color: var(--c-accent);
}

/* === Trust block before final CTA === */
.location-page .location-cta__trust {
  max-width: 680px;
  margin: 0 auto 24px;
  padding: 14px 24px;
  background: var(--c-bg-alt);
  border: 1px solid var(--c-line);
  border-radius: 999px;
  color: var(--c-ink-muted);
  font-size: 14px;
  text-align: center;
}
.location-page .location-hero::before {
  content: '';
  position: absolute;
  top: -120px;
  right: -120px;
  width: 480px;
  height: 480px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(200,169,104,0.18), transparent 60%);
  filter: blur(40px);
  pointer-events: none;
  z-index: 0;
}
.location-page .location-hero::after {
  content: '';
  position: absolute;
  bottom: -160px;
  left: -160px;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(67,105,119,0.4), transparent 60%);
  filter: blur(60px);
  pointer-events: none;
  z-index: 0;
}
.location-page .location-hero > * { position: relative; z-index: 1; }
.location-page .location-hero__title {
  color: var(--c-white) !important;
  font-size: clamp(36px, 5.5vw, 64px) !important;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.01em;
  margin-bottom: 16px;
}
.location-page .location-hero__subtitle {
  color: rgba(255,255,255,0.85);
  font-size: clamp(16px, 1.6vw, 19px);
  font-style: italic;
  margin-bottom: 32px;
}
.location-page .location-hero__text {
  color: rgba(255,255,255,0.92);
  font-size: clamp(15px, 1.4vw, 17px);
  line-height: 1.7;
  max-width: 760px;
  margin-inline: auto;
  margin-block: 0 16px;
}
.location-page .location-hero__text a {
  color: var(--c-gold);
  text-decoration-color: rgba(200,169,104,0.5);
}
.location-page .location-hero__text a:hover { color: var(--c-gold-hover); }
.location-page .location-hero__cta { margin-top: 36px; }

/* Premium ссылки в hero */
.location-page .location-hero__links {
  list-style: none;
  padding: 0;
  margin: 24px auto 0;
  max-width: 720px;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.location-page .location-hero__links li {
  padding-left: 28px;
  position: relative;
  color: rgba(255,255,255,0.85);
  font-size: 15px;
  line-height: 1.5;
}
.location-page .location-hero__links li::before {
  content: '→';
  position: absolute;
  left: 0;
  color: var(--c-gold);
  font-weight: 700;
}
.location-page .location-hero__links a {
  color: var(--c-gold) !important;
  text-decoration: underline;
  text-decoration-color: rgba(200,169,104,0.4);
  text-underline-offset: 3px;
}
.location-page .location-hero__links a:hover { color: var(--c-gold-hover) !important; }
.location-page .location-hero .cryptoExchange__button {
  background: var(--c-gold) !important;
  color: var(--c-primary-700) !important;
  border-color: var(--c-gold) !important;
  font-weight: 600;
  padding: 16px 36px !important;
  min-height: 54px;
  font-size: 17px;
  box-shadow: 0 8px 24px rgba(200,169,104,0.35);
}
.location-page .location-hero .cryptoExchange__button:hover {
  background: var(--c-gold-hover) !important;
  border-color: var(--c-gold-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(200,169,104,0.45);
}

/* === Точечные улучшения карточек локаций === */
.location-page .location-step,
.location-page .location-why__item {
  background: var(--c-white);
  border: 1px solid var(--c-line);
  border-radius: var(--r-md);
  padding: var(--s-5);
  box-shadow: var(--shadow-1);
  transition: box-shadow .2s var(--easing), transform .2s var(--easing);
}
.location-page .location-step:hover,
.location-page .location-why__item:hover {
  box-shadow: var(--shadow-2);
  transform: translateY(-2px);
}

/* Gold-номер шагов */
.location-page .location-step__num {
  background: var(--c-gold) !important;
  color: var(--c-primary) !important;
  font-weight: 700;
}

/* === Mobile: full-width buttons === */
@media (max-width: 640px) {
  .cryptoExchange__button,
  .about__button,
  .animated-button { width: 100% !important; }

  /* Coverage block — compact on mobile */
  .hb-coverage .hb-card--center { padding: 40px 20px !important; border-radius: 20px !important; }
  .hb-coverage .hb-coverage__grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .hb-coverage .hb-coverage__col { padding: 20px !important; }
  .hb-coverage .coverage-lead { margin-bottom: 28px !important; }
  .hb-coverage .coverage-cta-divider { margin: 28px auto 20px !important; }
  .hb-coverage .coverage-eyebrow { letter-spacing: 1.6px; font-size: 11px; }
}

/* === Убираем горизонтальный скролл === */
html, body { overflow-x: hidden; }

/* ============================================================
 * PREMIUM UPGRADE — applied globally
 * ============================================================ */

/* Body — premium warm bg */
body {
  background: var(--c-bg) !important;
  color: var(--c-ink);
}

/* === Premium hero — Главная (hb-hero) === */
.hb-hero {
  background:
    radial-gradient(ellipse at top right, rgba(200,169,104,0.08), transparent 60%),
    radial-gradient(ellipse at bottom left, rgba(67,105,119,0.10), transparent 60%),
    linear-gradient(180deg, #FFFFFF 0%, #FAFAFA 100%) !important;
  position: relative;
  overflow: hidden;
  padding-block: 80px !important;
}
.hb-hero::before {
  content: '';
  position: absolute;
  top: -100px;
  right: -100px;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(200,169,104,0.15), transparent 60%);
  filter: blur(40px);
  pointer-events: none;
  z-index: 0;
}
.hb-hero > * { position: relative; z-index: 1; }
.hb-hero__title { color: var(--c-primary) !important; font-weight: 700 !important; letter-spacing: -0.01em; }

/* === Services cards on home — premium === */
.hb-services {
  background: transparent !important;
  padding-block: 100px !important;
  position: relative;
  overflow: hidden;
}
/* Decorative 3D shape — bottom-left, large, faded */
.hb-services::before {
  content: '';
  position: absolute;
  bottom: -120px;
  left: -160px;
  width: 520px;
  height: 520px;
  background: url('../img/heroShape.webp') center/contain no-repeat;
  opacity: 0.22;
  transform: rotate(-15deg);
  pointer-events: none;
  z-index: 0;
  filter: grayscale(20%);
}
/* Second decorative — top-right */
.hb-services::after {
  content: '';
  position: absolute;
  top: -100px;
  right: -150px;
  width: 440px;
  height: 440px;
  background: url('../img/missionShape.webp') center/contain no-repeat;
  opacity: 0.20;
  transform: rotate(25deg);
  pointer-events: none;
  z-index: 0;
}
.hb-services > * { position: relative; z-index: 1; }
.hb-card {
  background: var(--c-white) !important;
  border: 1px solid var(--c-line) !important;
  border-radius: 20px !important;
  padding: 40px !important;
  box-shadow: 0 2px 8px rgba(31,45,51,0.04), 0 12px 32px rgba(31,45,51,0.06) !important;
  position: relative;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease !important;
}
.hb-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--c-gold), var(--c-accent));
  opacity: 0.6;
}
.hb-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 12px rgba(31,45,51,0.06), 0 20px 48px rgba(31,45,51,0.12) !important;
}
.hb-card__icon { color: var(--c-gold) !important; font-size: 24px !important; letter-spacing: 6px; }
.hb-card__title { color: var(--c-primary) !important; font-weight: 700 !important; }

/* === Coverage — premium full-width === */
.hb-coverage {
  background: var(--c-bg-alt) !important;
  padding-block: 96px !important;
  position: relative;
  overflow: hidden;
}
/* Decorative 3D shape — large, faded, bottom-right behind container */
.hb-coverage::before {
  content: '';
  position: absolute;
  bottom: -200px;
  right: -180px;
  width: 600px;
  height: 600px;
  background: url('../img/heroShape.webp') center/contain no-repeat;
  opacity: 0.18;
  transform: rotate(180deg);
  pointer-events: none;
  z-index: 0;
}
.hb-coverage::after {
  content: '';
  position: absolute;
  top: -100px;
  left: -120px;
  width: 380px;
  height: 380px;
  background: url('../img/missionShape.webp') center/contain no-repeat;
  opacity: 0.16;
  transform: rotate(-30deg);
  pointer-events: none;
  z-index: 0;
}
.hb-coverage > * { position: relative; z-index: 1; }
.hb-coverage .hb-card--center {
  background: linear-gradient(135deg, #1F2D33 0%, #2B434C 50%, #1B2A30 100%) !important;
  color: var(--c-white) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 28px !important;
  padding: 56px 48px !important;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(31,45,51,0.20) !important;
  max-width: 1040px;
  margin-inline: auto;
  text-align: center;
}
/* === Eyebrow (label сверху) === */
.hb-coverage .coverage-eyebrow {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: var(--c-gold);
  margin-bottom: 14px;
}
/* === Главный H2 — крупнее, plотнее === */
.hb-coverage .hb-card__title,
.hb-coverage .block-title {
  font-size: clamp(28px, 3.4vw, 44px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
  margin-bottom: 16px !important;
}
/* === Лид — узкая колонка, читабельный === */
.hb-coverage .coverage-lead,
.hb-coverage .hb-lead {
  max-width: 580px;
  margin: 0 auto 40px !important;
  font-size: 17px;
  line-height: 1.55;
  color: rgba(255,255,255,0.82) !important;
}
.hb-coverage .hb-card--center::before {
  content: '';
  position: absolute;
  top: -120px;
  right: -120px;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(200,169,104,0.18), transparent 60%);
  filter: blur(40px);
  pointer-events: none;
}
.hb-coverage .hb-card--center::after {
  content: '';
  position: absolute;
  bottom: -100px;
  left: -100px;
  width: 320px;
  height: 320px;
  background: url('../img/missionShape.webp') center/contain no-repeat;
  opacity: 0.18;
  filter: brightness(1.4) contrast(0.9);
  transform: rotate(45deg);
  pointer-events: none;
  z-index: 0;
}
.hb-coverage .hb-card--center > * { position: relative; z-index: 1; }
.hb-coverage .hb-card__title,
.hb-coverage .block-title {
  color: var(--c-white) !important;
  font-size: clamp(28px, 3.5vw, 42px);
}
.hb-coverage .hb-lead,
.hb-coverage .hb-note { color: rgba(255,255,255,0.85) !important; }
/* === Сетка двух колонок (Офисы / Выездной обмен) === */
.hb-coverage .hb-coverage__grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 40px;
  max-width: 760px;
  margin: 0 auto 28px;
  text-align: left;
}
.hb-coverage .hb-coverage__col {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 18px;
  padding: 24px 24px 20px;
  backdrop-filter: blur(6px);
}
.hb-coverage .hb-coverage__col-title {
  color: var(--c-gold) !important;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.hb-coverage .hb-coverage__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 0;
}
.hb-coverage .hb-coverage__list li { list-style: none; padding: 0; }
.hb-coverage .hb-coverage__list a {
  display: inline-flex;
  align-items: center;
  padding: 9px 18px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 999px;
  color: rgba(255,255,255,0.95) !important;
  text-decoration: none !important;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.2px;
  transition: background .2s, border-color .2s, color .2s, transform .2s, box-shadow .2s;
}
.hb-coverage .hb-coverage__list a:hover {
  background: var(--c-gold);
  border-color: var(--c-gold);
  color: var(--c-primary-700) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(200,169,104,0.30);
}

/* === Note === */
.hb-coverage .coverage-note,
.hb-coverage .hb-note {
  max-width: 580px;
  margin: 0 auto !important;
  color: rgba(255,255,255,0.62) !important;
  font-size: 14px;
  font-style: italic;
}

/* === Separator + CTA block === */
.hb-coverage .coverage-cta-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(200,169,104,0.35), transparent);
  margin: 36px auto 28px;
  max-width: 320px;
}
.hb-coverage .coverage-cta-block {
  text-align: center;
}
.hb-coverage .coverage-cta-lead {
  color: rgba(255,255,255,0.88) !important;
  font-size: 16px;
  margin: 0 0 16px !important;
}
.hb-coverage .hb-card__cta { margin-top: 32px; text-align: center; }
.hb-coverage .cryptoExchange__button,
.hb-coverage .about__button,
.hb-coverage .animated-button {
  background: var(--c-gold) !important;
  color: var(--c-primary-700) !important;
  border-color: var(--c-gold) !important;
  font-weight: 600;
  padding: 16px 36px !important;
  box-shadow: 0 8px 24px rgba(200,169,104,0.35) !important;
}
.hb-coverage .cryptoExchange__button:hover,
.hb-coverage .about__button:hover,
.hb-coverage .animated-button:hover {
  background: var(--c-gold-hover) !important;
  border-color: var(--c-gold-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(200,169,104,0.45) !important;
}

/* === Premium About page hero (about_page .tiles) === */
.about_page .tiles {
  background:
    radial-gradient(ellipse at top right, rgba(200,169,104,0.10), transparent 60%),
    linear-gradient(180deg, #FFFFFF 0%, #FAFAFA 100%) !important;
  position: relative;
  overflow: hidden;
  padding-block: 80px 40px !important;
}
.about_page .about__slider-title {
  font-size: clamp(32px, 4.5vw, 56px) !important;
  font-weight: 700;
  color: var(--c-primary) !important;
  text-align: center;
  letter-spacing: -0.01em;
  margin: 0;
}

/* About mission — премиум подача */
.about_page .mission {
  background: var(--c-bg-alt) !important;
  padding-block: 80px !important;
}
.about_page .mission__title { color: var(--c-primary) !important; font-weight: 700; }

/* About info-gallery cards (3 columns) — premium */
.about_page .infoGallery .infoGallery__column {
  background: var(--c-white) !important;
  border: 1px solid var(--c-line) !important;
  border-radius: 20px !important;
  padding: 32px !important;
  box-shadow: 0 2px 8px rgba(31,45,51,0.04), 0 12px 32px rgba(31,45,51,0.06) !important;
  transition: transform .25s ease, box-shadow .25s ease;
}
.about_page .infoGallery .infoGallery__column:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 12px rgba(31,45,51,0.06), 0 18px 40px rgba(31,45,51,0.10) !important;
}
.about_page .infoGallery h6 {
  color: var(--c-primary) !important;
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 16px;
}

/* About VQF — премиум */
.about_page .companyNumber {
  background: var(--c-white) !important;
  padding-block: 80px !important;
}
.about_page .companyNumber__title {
  text-align: center;
  font-size: clamp(28px, 3.5vw, 42px) !important;
  color: var(--c-primary) !important;
  margin-bottom: 48px !important;
  font-weight: 700;
}

/* === Section titles глобально === */
.block-title {
  color: var(--c-primary) !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
}

/* === Global primary CTA — gold gradient === */
body .cryptoExchange__button,
body .about__button,
body .animated-button {
  background: linear-gradient(135deg, var(--c-accent), var(--c-primary)) !important;
  color: var(--c-white) !important;
  border: none !important;
  font-weight: 600 !important;
  padding: 14px 32px !important;
  min-height: 52px !important;
  font-size: 16px !important;
  letter-spacing: 0.3px;
  box-shadow: 0 4px 14px rgba(67,105,119,0.30);
  border-radius: 999px !important;
}
body .cryptoExchange__button:hover,
body .about__button:hover,
body .animated-button:hover {
  background: linear-gradient(135deg, var(--c-primary), var(--c-primary-700)) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(31,45,51,0.30) !important;
}

/* Premium gold CTA in dark hero overrides */
.location-page .location-hero .cryptoExchange__button,
.hb-coverage .cryptoExchange__button,
.hb-coverage .about__button,
.hb-coverage .animated-button {
  background: var(--c-gold) !important;
  color: var(--c-primary-700) !important;
  box-shadow: 0 8px 24px rgba(200,169,104,0.35) !important;
}
.location-page .location-hero .cryptoExchange__button:hover,
.hb-coverage .cryptoExchange__button:hover,
.hb-coverage .about__button:hover,
.hb-coverage .animated-button:hover {
  background: var(--c-gold-hover) !important;
  box-shadow: 0 14px 32px rgba(200,169,104,0.45) !important;
}

/* === Contact form button → premium === */
.contact-form__button {
  background: var(--c-accent) !important;
  color: var(--c-white) !important;
  border: none !important;
  font-weight: 600 !important;
  padding: 16px 40px !important;
  border-radius: 999px !important;
  cursor: pointer;
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

/* ============================================================
 * SMOOTH SECTION TRANSITIONS — premium gradient flow
 * Применяется к .location-page (локации) и .exchange-page (обмен крипты/валют).
 * Каждая секция кончается мягким fade в фон следующей,
 * создавая бесшовный переход без жёстких полос.
 * Палитра ритма: dark → bg → bg-alt → white → bg-alt → bg
 * ============================================================ */

/* HERO (dark) → DETAIL (bg) — многоступенчатый exponential fade без серой полосы */
.location-page .location-hero {
  background:
    /* Fade overlay снизу — экспоненциальный, не даёт «грязного» серого */
    linear-gradient(180deg,
      transparent 0%,
      transparent 70%,
      rgba(255,255,255,0.06) 80%,
      rgba(255,255,255,0.18) 88%,
      rgba(255,255,255,0.45) 94%,
      rgba(255,255,255,0.85) 98%,
      var(--c-bg) 100%),
    radial-gradient(ellipse at top right, rgba(200,169,104,0.14), transparent 60%),
    radial-gradient(ellipse at bottom left, rgba(67,105,119,0.20), transparent 60%),
    linear-gradient(135deg, #1F2D33 0%, #2B434C 50%, #1B2A30 100%) !important;
  padding-bottom: 92px !important;
}

/* DETAIL (bg) → ALT */
.location-page .location-detail {
  background: linear-gradient(180deg,
    var(--c-bg) 0%,
    var(--c-bg) 70%,
    #FCFCFC 88%,
    var(--c-bg-alt) 100%) !important;
}

/* HOW IT WORKS (alt) → WHITE — только на exchange-page (страницы локаций этой секции не имеют) */
.exchange-page .howItWorks {
  background: linear-gradient(180deg,
    var(--c-bg-alt) 0%,
    var(--c-bg-alt) 70%,
    #FCFCFC 88%,
    var(--c-white) 100%);
  padding-block: 56px 72px;
}

/* LIMITS (white) → ALT */
.exchange-page .limits {
  background: linear-gradient(180deg,
    var(--c-white) 0%,
    var(--c-white) 70%,
    #FCFCFC 88%,
    var(--c-bg-alt) 100%);
  padding-block: 56px 72px;
}

/* WHY (alt) → BG */
.location-page .location-why {
  background: linear-gradient(180deg,
    var(--c-bg-alt) 0%,
    var(--c-bg-alt) 70%,
    #FCFCFC 88%,
    var(--c-bg) 100%) !important;
}

/* CTA (bg) — ровный, мягкий пьедестал перед footer */
.location-page .location-cta {
  background: linear-gradient(180deg,
    var(--c-bg) 0%,
    var(--c-bg) 100%);
}

/* Доп. вариант для страниц локаций (без howItWorks/limits): detail → why */
/* После detail сразу why — detail должен закончиться в alt, why должен начаться с alt.
   Текущие правила уже это обеспечивают: detail кончает в --c-bg-alt, why стартует с --c-bg-alt. */

/* ============================================================
 * CALC TIERS — Tier-комиссии для крипто-калькулятора
 * ============================================================ */

.calc-tiers {
  max-width: 720px;
  margin: 0 auto 14px;
}

.calc-tiers__lead {
  text-align: center;
  font-size: 12px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--c-ink-muted);
  font-weight: 600;
  margin: 0 0 10px;
}

.calc-tiers__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.calc-tiers__card {
  position: relative;
  padding: 10px 10px 9px;
  background: var(--c-white);
  border: 1px solid var(--c-line);
  border-radius: 14px;
  text-align: center;
  transition: border-color .25s var(--easing), box-shadow .25s var(--easing), transform .25s var(--easing);
}

.calc-tiers__card.is-active {
  border-color: var(--c-gold);
  box-shadow: 0 10px 28px rgba(200,169,104,0.20), 0 2px 8px rgba(200,169,104,0.10);
  transform: translateY(-2px);
}

.calc-tiers__card.is-active::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(200,169,104,0.05) 0%, transparent 60%);
  border-radius: inherit;
  pointer-events: none;
}

.calc-tiers__card--vip {
  background: linear-gradient(180deg, var(--c-white) 0%, #FBFAF6 100%);
}

.calc-tiers__range {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.3px;
  color: var(--c-ink-muted);
  text-transform: uppercase;
  margin-bottom: 4px;
}

.calc-tiers__rate {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--c-primary);
  line-height: 1;
  margin-bottom: 3px;
  display: inline-flex;
  align-items: baseline;
  gap: 3px;
}

.calc-tiers__card--vip .calc-tiers__rate { color: var(--c-gold-hover); }

.calc-tiers__rate-num {
  font-variant-numeric: tabular-nums;
}

.calc-tiers__rate-sep {
  color: var(--c-ink-muted);
  font-weight: 400;
  font-size: 14px;
  padding: 0 1px;
}

.calc-tiers__note {
  font-size: 10px;
  color: var(--c-ink-muted);
  letter-spacing: 0.2px;
}

@media (max-width: 640px) {
  .calc-tiers__grid { grid-template-columns: 1fr; gap: 10px; }
  .calc-tiers__card { padding: 16px; display: flex; align-items: center; justify-content: space-between; text-align: left; }
  .calc-tiers__range { margin: 0; }
  .calc-tiers__rate { font-size: 24px; margin: 0; }
  .calc-tiers__note { display: none; }
}

/* ============================================================
 * RATES TICKER — бегущая строка курсов на страницах калькуляторов
 * ============================================================ */

.rates-ticker {
  background: linear-gradient(90deg, var(--c-primary-700) 0%, var(--c-primary) 50%, var(--c-primary-700) 100%);
  color: var(--c-white);
  overflow: hidden;
  position: relative;
  padding: 12px 0;
  border-bottom: 1px solid rgba(200,169,104,0.15);
  border-top: 1px solid rgba(200,169,104,0.10);
  /* Мягкие края — fade слева и справа */
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
}

.rates-ticker__track {
  display: inline-flex;
  align-items: center;
  gap: 56px;
  white-space: nowrap;
  animation: rates-ticker-scroll 90s linear infinite;
  will-change: transform;
  padding-left: 56px;
}

.rates-ticker:hover .rates-ticker__track {
  animation-play-state: paused;
}

.rates-ticker__item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  letter-spacing: 0.2px;
  font-variant-numeric: tabular-nums;
}

.rates-ticker__pair {
  color: rgba(255,255,255,0.78);
  font-weight: 500;
}

.rates-ticker__arrow {
  color: var(--c-gold);
  font-size: 13px;
  opacity: 0.7;
}

.rates-ticker__rate {
  color: var(--c-gold);
  font-weight: 700;
  letter-spacing: 0.3px;
}

@keyframes rates-ticker-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  .rates-ticker__track { animation: none; }
}

@media (max-width: 640px) {
  .rates-ticker { padding: 10px 0; }
  .rates-ticker__track { gap: 40px; padding-left: 40px; animation-duration: 70s; }
  .rates-ticker__item { font-size: 13px; }
}

