/* ==========================================================
   APPROVE — aanvullende inhoud huidige website
   Volledig gebaseerd op bestaande Cirqela design language.
   ========================================================== */

.approve-additions {
  width:
    min(
      1180px,
      calc(100% - 40px)
    );

  margin:
    0 auto;

  padding:
    80px 0 120px;
}


.approve-section-heading {
  max-width: 820px;

  margin-bottom: 70px;
}


.approve-kicker {
  display: block;

  margin-bottom: 13px;

  color:
    var(--blue, #176eff);

  font-size: .67rem;
  font-weight: 820;

  letter-spacing: .13em;

  text-transform: uppercase;
}


.approve-section-heading h2,
.approve-feature-copy h3,
.approve-trust h3 {
  margin:
    0 0 18px;

  font-family:
    "Nunito Sans",
    sans-serif;

  color:
    var(--text, #0e2346);

  font-weight: 800;

  line-height: 1.05;

  letter-spacing: -.05em;
}


.approve-section-heading h2 {
  font-size:
    clamp(
      2.5rem,
      4.4vw,
      4.3rem
    );
}


.approve-feature-copy h3,
.approve-trust h3 {
  font-size:
    clamp(
      2rem,
      3vw,
      3.15rem
    );
}


.approve-section-heading p,
.approve-feature-copy p,
.approve-trust p {
  margin: 0;

  color:
    var(--muted, #617089);

  line-height: 1.75;
}


.approve-feature-block {
  position: relative;

  margin-bottom: 28px;

  padding: 58px;

  display: grid;

  grid-template-columns:
    minmax(0, .88fr)
    minmax(0, 1.12fr);

  gap: 65px;

  align-items: center;

  overflow: hidden;

  border:
    1px solid
    var(
      --border,
      rgba(14,35,70,.10)
    );

  border-radius: 38px;

  background:
    var(
      --surface,
      #fff
    );

  box-shadow:
    0 22px 65px
    rgba(18,43,82,.07);
}


.approve-feature-block::after {
  content: "";

  position: absolute;

  width: 420px;
  height: 420px;

  top: -260px;
  right: -220px;

  border-radius: 50%;

  pointer-events: none;

  background:
    radial-gradient(
      circle,
      rgba(138,99,247,.10),
      transparent 69%
    );
}


.approve-feature-block--reverse
.approve-feature-copy {
  order: 2;
}


.approve-number {
  display: block;

  margin-bottom: 34px;

  color:
    var(--muted, #617089);

  font-size: .63rem;
  font-weight: 800;
}


.approve-pricing {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 14px;
}


.approve-price-card {
  min-height: 335px;

  padding: 26px;

  display: flex;
  flex-direction: column;

  border:
    1px solid
    var(
      --border,
      rgba(14,35,70,.10)
    );

  border-radius: 25px;

  background:
    var(
      --surface-soft,
      #eef3fb
    );
}


.approve-price-card--accent {
  background:
    linear-gradient(
      145deg,
      rgba(23,110,255,.10),
      rgba(138,99,247,.12)
    ),
    var(--surface, #fff);
}


.approve-price-label {
  color:
    var(--muted, #617089);

  font-size: .66rem;
  font-weight: 800;

  text-transform: uppercase;

  letter-spacing: .08em;
}


.approve-price {
  margin:
    22px 0 5px;

  font-family:
    "Nunito Sans",
    sans-serif;

  color:
    var(--text, #0e2346);

  font-size: 3.1rem;
  font-weight: 800;

  letter-spacing: -.06em;
}


.approve-price small {
  font-family:
    "Inter",
    sans-serif;

  color:
    var(--muted, #617089);

  font-size: .72rem;
  font-weight: 650;

  letter-spacing: 0;
}


.approve-price-card p {
  margin:
    0 0 18px;

  color:
    var(--muted, #617089);

  font-size: .75rem;
}


.approve-price-card ul {
  margin:
    auto 0 0;

  padding: 0;

  list-style: none;
}


.approve-price-card li {
  padding:
    10px 0;

  display: flex;

  gap: 8px;

  border-top:
    1px solid
    var(
      --border,
      rgba(14,35,70,.10)
    );

  color:
    var(--muted, #617089);

  font-size: .68rem;
}


.approve-price-card li::before {
  content: "✓";

  color:
    var(--blue, #176eff);

  font-weight: 850;
}


.approve-methods {
  display: grid;

  gap: 12px;
}


.approve-methods article {
  padding: 19px;

  display: grid;

  grid-template-columns:
    48px 1fr;

  gap: 15px;

  align-items: center;

  border:
    1px solid
    var(
      --border,
      rgba(14,35,70,.10)
    );

  border-radius: 19px;

  background:
    var(
      --surface-soft,
      #eef3fb
    );
}


.approve-method-icon {
  width: 48px;
  height: 48px;

  display: grid;
  place-items: center;

  border-radius: 15px;

  color: #fff;

  background:
    var(
      --gradient,
      linear-gradient(
        135deg,
        #176eff,
        #8a63f7
      )
    );

  font-weight: 850;
}


.approve-methods strong {
  display: block;

  margin-bottom: 3px;

  font-family:
    "Nunito Sans",
    sans-serif;

  color:
    var(--text, #0e2346);
}


.approve-methods p {
  margin: 0;

  color:
    var(--muted, #617089);

  font-size: .7rem;
}


.approve-tech-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 12px;
}


.approve-tech-grid article {
  min-height: 175px;

  padding: 22px;

  border:
    1px solid
    var(
      --border,
      rgba(14,35,70,.10)
    );

  border-radius: 21px;

  background:
    var(
      --surface-soft,
      #eef3fb
    );
}


.approve-tech-dot {
  width: 9px;
  height: 9px;

  display: block;

  margin-bottom: 28px;

  border-radius: 50%;

  background:
    var(
      --gradient,
      linear-gradient(
        135deg,
        #176eff,
        #8a63f7
      )
    );

  box-shadow:
    0 0 0 6px
    rgba(23,110,255,.08);
}


.approve-tech-grid strong {
  display: block;

  margin-bottom: 7px;

  font-family:
    "Nunito Sans",
    sans-serif;

  color:
    var(--text, #0e2346);

  font-size: .91rem;
}


.approve-tech-grid p {
  margin: 0;

  color:
    var(--muted, #617089);

  font-size: .69rem;
  line-height: 1.6;
}


.approve-trust {
  margin-top: 28px;

  padding: 58px;

  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    minmax(340px, .75fr);

  gap: 60px;

  align-items: center;

  border-radius: 38px;

  color: #f7faff;

  background:
    linear-gradient(
      145deg,
      #0d2345,
      #161e47
    );

  box-shadow:
    0 24px 70px
    rgba(18,43,82,.14);
}


.approve-trust h3 {
  color: #f7faff;
}


.approve-trust p {
  color: #bcc9db;
}


.approve-trust-items {
  display: grid;

  gap: 8px;
}


.approve-trust-items span {
  min-height: 45px;

  padding:
    0 16px;

  display: flex;
  align-items: center;

  border:
    1px solid
    rgba(255,255,255,.09);

  border-radius: 14px;

  background:
    rgba(255,255,255,.045);

  color: #d6dfed;

  font-size: .7rem;
  font-weight: 650;
}


.approve-trust-items span::before {
  content: "✓";

  margin-right: 10px;

  color: #7ab9ff;

  font-weight: 900;
}


@media (max-width: 900px) {

  .approve-feature-block,
  .approve-trust {
    grid-template-columns: 1fr;
  }


  .approve-feature-block--reverse
  .approve-feature-copy {
    order: initial;
  }

}


@media (max-width: 620px) {

  .approve-additions {
    width:
      calc(100% - 28px);
  }


  .approve-feature-block,
  .approve-trust {
    padding:
      38px 22px;

    border-radius: 29px;
  }


  .approve-pricing,
  .approve-tech-grid {
    grid-template-columns: 1fr;
  }

}


/* ==========================================================
   APPROVE — ACCOUNT CTA
   ========================================================== */

.approve-account-cta {
  position: relative;

  width:
    min(
      1180px,
      calc(100% - 40px)
    );

  margin:
    10px auto 120px;

  padding:
    90px 48px;

  overflow: hidden;

  text-align: center;

  border:
    1px solid
    var(
      --border,
      rgba(14,35,70,.10)
    );

  border-radius: 40px;

  background:
    linear-gradient(
      145deg,
      rgba(23,110,255,.07),
      rgba(138,99,247,.10)
    ),
    var(
      --surface,
      #fff
    );

  box-shadow:
    0 24px 70px
    rgba(18,43,82,.09);
}


.approve-account-cta__glow {
  position: absolute;

  width: 520px;
  height: 520px;

  top: -360px;
  left: 50%;

  transform:
    translateX(-50%);

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(72,115,255,.21),
      rgba(138,99,247,.08) 45%,
      transparent 70%
    );

  pointer-events: none;
}


.approve-account-cta__content {
  position: relative;

  z-index: 1;

  max-width: 760px;

  margin: 0 auto;
}


.approve-account-cta h2 {
  margin:
    0 auto 18px;

  font-family:
    "Nunito Sans",
    sans-serif;

  color:
    var(
      --text,
      #0e2346
    );

  font-size:
    clamp(
      2.7rem,
      5vw,
      4.8rem
    );

  font-weight: 800;

  line-height: 1;

  letter-spacing: -.055em;
}


.approve-account-cta p {
  max-width: 600px;

  margin:
    0 auto 30px;

  color:
    var(
      --muted,
      #617089
    );

  font-size: 1rem;

  line-height: 1.7;
}


.approve-account-cta__button {
  min-height: 54px;

  padding:
    0 24px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 14px;

  border-radius: 999px;

  color: #fff;

  background:
    linear-gradient(
      135deg,
      #176eff,
      #8a63f7
    );

  box-shadow:
    0 15px 38px
    rgba(67,87,232,.24);

  font-size: .8rem;
  font-weight: 780;

  text-decoration: none;

  transition:
    transform .18s ease,
    box-shadow .18s ease;
}


.approve-account-cta__button:hover {
  transform:
    translateY(-2px);

  box-shadow:
    0 19px 43px
    rgba(67,87,232,.30);
}


:root[data-theme="dark"]
.approve-account-cta {
  background:
    radial-gradient(
      circle at 50% -20%,
      rgba(49,169,255,.13),
      transparent 48%
    ),
    linear-gradient(
      145deg,
      rgba(23,110,255,.06),
      rgba(138,99,247,.09)
    ),
    var(
      --surface,
      #0e1b30
    );
}


@media (max-width: 620px) {

  .approve-account-cta {
    width:
      calc(100% - 28px);

    padding:
      65px 22px;

    border-radius: 30px;
  }

}
