/*
 * process.css
 * Section 3 — Process
 * Scoped under: .page-private-scans .process
 * Tokens only — no hard-coded values.
 */

/* ─── Section ────────────────────────────────────────────── */
.page-private-scans .process,
.page-homepage .process {
  background: var(--color-bg-white);
  padding: var(--section-padding-y) 0;
}

/* ─── Header (centered) ──────────────────────────────────── */
.process__header {
  text-align: center;
  margin-bottom: var(--space-2xl);
}

/* ─── Steps row ──────────────────────────────────────────── */
.process__steps {
  display: flex;
  justify-content: space-between;
  max-width: var(--container-max);
  margin: 0 auto;
  position: relative;
  gap: var(--space-lg);
}

/* Connector line — sits behind the icons */
.process__steps::before {
  content: '';
  position: absolute;
  top: 35px;                        /* vertically centred on the 70px icon */
  left: calc(100% / 6);
  right: calc(100% / 6);
  height: 10px;
  background: var(--color-secondary);
  opacity: 0.2;
  border-radius: var(--radius-pill);
  z-index: 1;
}

/* ─── Individual step ────────────────────────────────────── */
.process__step {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  z-index: 2;
}

/* ─── Icon circle ────────────────────────────────────────── */
.process__step-icon {
  width: 70px;
  height: 70px;
  background: var(--color-primary-light);
  border: 2px solid var(--color-primary);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-bottom: var(--space-lg);
}

.process__step-icon svg {
  width: 32px;
  height: 32px;
  stroke: var(--color-primary);
}

/* ─── Step text ──────────────────────────────────────────── */
.process__step-body {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--space-lg);
}

.process__step-title {
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  font-weight: var(--text-h3-weight);
  color: var(--color-text-heading);
  margin-bottom: var(--space-md);
  line-height: var(--text-h3-height);
}

.process__step-desc {
  font-size: var(--text-body-md-size);
  line-height: var(--text-body-md-height);
  color: var(--color-text-muted);
  margin: 0;
}

/* ─── Bottom CTA ─────────────────────────────────────────── */
.process__cta {
  text-align: center;
  margin-top: var(--space-2xl);
}

/* ─── Mobile ─────────────────────────────────────────────── */
@media (max-width: 768px) {
  .page-private-scans .process,
  .page-homepage .process {
    padding: var(--section-padding-y-mobile) 0;
  }

  .process__steps {
    flex-direction: column;
    gap: 0;
  }

  .process__steps::before {
    display: none;
  }

  .process__step {
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
    gap: var(--space-lg);
    padding: var(--space-xl) 0;
    position: relative;
  }

  .process__step:not(:last-child)::after {
    content: '';
    position: absolute;
    left: 35px;
    transform: translateX(-50%);
    top: calc(var(--space-xl) + 70px);
    bottom: calc(-1 * var(--space-xl) - 35px);
    width: 10px;
    background: var(--color-secondary);
    opacity: 0.2;
    border-radius: 0;
  }

  .process__step-icon {
    flex-shrink: 0;
    margin-bottom: 0;
  }

  .process__step-body {
    margin-bottom: 0;
  }

  .process__step-title {
    font-size: var(--text-h4-size);
  }

  .process__step-desc {
    font-size: 16px;
  }
}
