/**
 * Meta — referral rewards full-viewport block (Figma 1920 / 390).
 * Desktop: same grid as FAQ — copy + CTA in main column.
 * Mobile: centered stack.
 */

.home-v2 .v2-section--meta-rewards,
.v2-section--meta-rewards {
  padding: 0;
  overflow: hidden;
}

.v2-section--meta-rewards .v2-meta-rewards__heading-line.v2-meta-rewards__heading-line--mobile {
  display: none;
}

@media (max-width: 1023px) {
  .v2-section--meta-rewards .v2-meta-rewards__heading-line.v2-meta-rewards__heading-line--desktop {
    display: none;
  }

  .v2-section--meta-rewards .v2-meta-rewards__heading-line.v2-meta-rewards__heading-line--mobile {
    display: block;
  }
}

.v2-meta-rewards__stage {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100svh;
  min-height: 100dvh;
  width: 100%;
  overflow: hidden;
}

.v2-meta-rewards__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image:
    linear-gradient(rgba(100, 219, 105, 0.3), rgba(100, 219, 105, 0.3)),
    var(--v2-meta-rewards-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  pointer-events: none;
}

.v2-meta-rewards__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100svh;
  min-height: 100dvh;
  padding: calc(100vw * 48 / 390) var(--container-pad);
  box-sizing: border-box;
}

.v2-meta-rewards__layout {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(100vw * 32 / 390);
  width: 100%;
  flex: 1 1 auto;
}

.v2-meta-rewards__rail {
  display: none;
}

.v2-meta-rewards__panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(100vw * 32 / 390);
  width: 100%;
}

.v2-meta-rewards__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(100vw * 20 / 390);
  width: 100%;
  max-width: 100%;
  text-align: center;
}

.v2-section--meta-rewards .v2-descriptor {
  margin: 0;
  justify-content: center;
  gap: calc(100vw * 10 / 390);
  font-size: calc(100vw * 14 / 390);
  line-height: 1;
  color: #ffffff;
}

.v2-section--meta-rewards .v2-descriptor__dot {
  width: calc(100vw * 8 / 390);
  height: calc(100vw * 8 / 390);
  background: #ffffff;
}

.v2-meta-rewards__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0;
  max-width: 100%;
  font-size: calc(100vw * 32 / 390);
  font-weight: 500;
  line-height: 1;
  color: #ffffff;
  text-align: center;
}

.v2-meta-rewards__heading-line {
  display: block;
  max-width: 100%;
  white-space: nowrap;
}

.v2-section--meta-rewards .v2-meta-rewards__heading[data-animation='letters'] .split-line {
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}

.v2-meta-rewards__lead {
  margin: 0;
  max-width: 100%;
  font-size: calc(100vw * 14 / 390);
  font-weight: 400;
  line-height: 1.3;
  color: #ffffff;
}

.v2-meta-rewards__cta {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.v2-section--meta-rewards .v2-btn--primary {
  --cta-size: calc(100vw * 60 / 390);
  --v2-btn-fill: #ffffff;
  --v2-btn-fill-hover: #202020;
  --v2-btn-text: #202020;
}

.v2-section--meta-rewards .v2-btn--primary .v2-btn__text,
.v2-section--meta-rewards .v2-btn--primary .v2-btn__icon {
  background: var(--v2-btn-fill);
  color: var(--v2-btn-text);
}

.v2-section--meta-rewards .v2-btn--primary .v2-btn__icon {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.v2-section--meta-rewards .v2-btn--primary .v2-btn__text {
  min-width: calc(100vw * 108 / 390);
  padding: calc(100vw * 14 / 390) calc(100vw * 28 / 390);
  font-size: calc(100vw * 16 / 390);
}

@media (min-width: 1024px) {
  .v2-meta-rewards__content {
    padding-top: clamp(40px, calc(100vw * 50 / 1920), 50px);
    padding-bottom: clamp(40px, calc(100vw * 65 / 1920), 65px);
    padding-inline: 0;
  }

  .v2-meta-rewards__layout {
    display: grid;
    grid-template-columns:
      var(--v2-grid-col-1, calc(100vw * 663 / 1920))
      var(--v2-grid-main-width, calc(100vw * 1117 / 1920));
    gap: var(--v2-grid-gap, calc(100vw * 20 / 1920));
    align-items: stretch;
    flex: 1 1 auto;
    min-height: calc(100svh - clamp(40px, calc(100vw * 50 / 1920), 50px) - clamp(40px, calc(100vw * 65 / 1920), 65px));
    min-height: calc(100dvh - clamp(40px, calc(100vw * 50 / 1920), 50px) - clamp(40px, calc(100vw * 65 / 1920), 65px));
  }

  .v2-meta-rewards__rail {
    display: block;
    grid-column: 1;
  }

  .v2-meta-rewards__panel {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: clamp(32px, calc(100vw * 40 / 1920), 40px);
    width: 100%;
    min-width: 0;
    min-height: 100%;
  }

  .v2-meta-rewards__copy {
    align-items: flex-start;
    gap: clamp(20px, calc(100vw * 30 / 1920), 30px);
    width: 100%;
    max-width: min(calc(100vw * 894 / 1920), 894px);
    text-align: left;
  }

  .v2-section--meta-rewards .v2-descriptor {
    justify-content: flex-start;
    gap: 10px;
    font-size: clamp(16px, 1.042vw, 20px);
  }

  .v2-section--meta-rewards .v2-descriptor__dot {
    width: 10px;
    height: 10px;
  }

  .v2-meta-rewards__heading {
    align-items: flex-start;
    width: 100%;
    max-width: 100%;
    font-size: clamp(48px, calc(100vw * 90 / 1920), 90px);
    text-align: left;
    overflow-wrap: break-word;
  }

  .is-lang-uk .v2-meta-rewards__heading {
    font-size: clamp(40px, calc(100vw * 65 / 1920), 65px);
  }

  .v2-meta-rewards__heading-line {
    max-width: 100%;
  }

  .v2-section--meta-rewards .v2-meta-rewards__heading[data-animation='letters'] .split-line {
    margin-inline: 0;
  }

  .v2-meta-rewards__lead {
    max-width: min(calc(100vw * 633 / 1920), 633px);
    font-size: clamp(16px, 1.042vw, 20px);
    line-height: 1.3;
    text-align: left;
  }

  .v2-meta-rewards__cta {
    justify-content: flex-start;
    align-self: flex-start;
    width: auto;
    margin-top: auto;
  }

  .v2-section--meta-rewards .v2-btn--primary {
    --cta-size: clamp(60px, calc(100vw * 80 / 1920), 80px);
  }

  .v2-section--meta-rewards .v2-btn--primary .v2-btn__text {
    min-width: clamp(108px, calc(100vw * 188 / 1920), 188px);
    padding: clamp(14px, calc(100vw * 19 / 1920), 19px) clamp(28px, calc(100vw * 40 / 1920), 40px);
    font-size: clamp(16px, 1.042vw, 20px);
  }
}

@media (hover: hover) and (pointer: fine) {
  .v2-section--meta-rewards .v2-btn--primary:hover .v2-btn__text,
  .v2-section--meta-rewards .v2-btn--primary:hover .v2-btn__icon,
  .v2-section--meta-rewards .v2-btn--primary:focus-visible .v2-btn__text,
  .v2-section--meta-rewards .v2-btn--primary:focus-visible .v2-btn__icon {
    background: var(--v2-btn-fill-hover);
    color: #ffffff;
  }

  .v2-section--meta-rewards .v2-btn--primary:hover .v2-btn__icon-img,
  .v2-section--meta-rewards .v2-btn--primary:focus-visible .v2-btn__icon-img {
    filter: brightness(0) invert(1);
  }

  .v2-section--meta-rewards .v2-btn--primary:hover .v2-btn__icon-slide:first-child,
  .v2-section--meta-rewards .v2-btn--primary:focus-visible .v2-btn__icon-slide:first-child {
    transform: translateX(var(--cta-size));
  }

  .v2-section--meta-rewards .v2-btn--primary:hover .v2-btn__icon-slide:last-child,
  .v2-section--meta-rewards .v2-btn--primary:focus-visible .v2-btn__icon-slide:last-child {
    transform: translateX(0);
  }
}

@media (max-width: 1023px) {
  .page-platform .v2-section--meta-rewards,
  .page-meta .v2-section--meta-rewards {
    margin-top: var(--v2-section-gap);
  }

  .v2-meta-rewards__content {
    padding-block: calc(100vw * 20 / 390);
    padding-inline: var(--container-pad);
  }

  .v2-meta-rewards__layout {
    align-items: stretch;
    gap: 0;
    flex: 1 1 auto;
    min-height: 0;
  }

  .v2-meta-rewards__panel {
    align-items: stretch;
    justify-content: space-between;
    gap: calc(100vw * 32 / 390);
    flex: 1 1 auto;
    min-height: 100%;
  }

  .v2-meta-rewards__copy {
    align-items: flex-start;
    gap: calc(100vw * 20 / 390);
    text-align: left;
  }

  .v2-section--meta-rewards .v2-descriptor {
    justify-content: flex-start;
  }

  .v2-meta-rewards__heading {
    align-items: flex-start;
    font-size: calc(100vw * 40 / 390);
    text-align: left;
  }

  .is-lang-uk .v2-meta-rewards__heading {
    font-size: min(34px, calc(100vw * 32 / 390));
  }

  .v2-section--meta-rewards .v2-meta-rewards__heading[data-animation='letters'] .split-line {
    margin-inline: 0;
  }

  .v2-meta-rewards__lead {
    text-align: left;
  }

  .v2-meta-rewards__cta {
    justify-content: flex-start;
    width: 100%;
    margin-top: auto;
    padding-top: 0;
  }

  .v2-section--meta-rewards .v2-btn--primary {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: none;
  }

  .v2-section--meta-rewards .v2-btn--primary .v2-btn__text {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    border-radius: 130px;
  }

  .v2-section--meta-rewards .v2-btn--primary .v2-btn__icon {
    flex: none;
  }

  .page-platform .v2-section--meta-audience,
  .page-meta .v2-section--meta-audience {
    padding-bottom: calc(100vw * 80 / 390);
  }

  .page-platform .v2-section--client-impact,
  .page-meta .v2-section--client-impact {
    padding-top: calc(100vw * 120 / 390);
    padding-bottom: 0;
  }
}

@media (min-width: 1024px) {
  .page-platform .v2-section--meta-audience,
  .page-meta .v2-section--meta-audience {
    padding-bottom: clamp(48px, 6.25vw, 120px);
  }

  .page-platform .v2-section--client-impact,
  .page-meta .v2-section--client-impact {
    padding-top: 160px;
    padding-bottom: calc(100vw * 120 / 1920);
  }
}
