/* path: core/static/ui/css/blocks/process.css */

/* =============================================================================
   Process
   ============================================================================= */

.Process__body{
  margin-bottom:0;
}

/* =============================================================================
   List / Road
   ============================================================================= */

.Process__list{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-4);
  align-items:stretch;
  padding-left:30px;
}

.Process__road{
  position:absolute;
  left:11px;
  top:10px;
  bottom:10px;
  width:2px;
  pointer-events:none;
  opacity:.95;
  background:
    repeating-linear-gradient(
      to bottom,
      var(--divider-3) 0 12px,
      transparent 12px 22px
    );
}

/* =============================================================================
   Card
   ============================================================================= */

.ProcessCard{
  position:relative;
  padding:var(--space-4);
  overflow:visible;
}

.ProcessCard::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  border-radius:var(--r-m) 0 0 var(--r-m);
  background:linear-gradient(
    180deg,
    var(--accent) 0%,
    rgba(207,133,36,.28) 100%
  );
}

.ProcessCard__dot{
  position:absolute;
  left:-27px;
  top:18px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:var(--surface);
  border:2px solid var(--accent);
  box-shadow:0 0 0 5px var(--accent-soft);
  z-index:2;
}

.ProcessCard__num{
  margin:0 0 var(--space-2);
  color:var(--accent);
  font-size:var(--small);
  line-height:1;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.ProcessCard__title{
  margin:0 0 var(--space-2);
  font-family:var(--font-head);
  font-size:1.2rem;
  line-height:1.15;
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--text);
}

.ProcessCard__text{
  margin:0;
  color:var(--text-2);
  font-size:1rem;
  line-height:1.5;
}

/* =============================================================================
   Tablet
   ============================================================================= */

@media (min-width:768px){
  .Process__list{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:var(--space-4);
    padding-left:0;
    padding-top:34px;
  }

  .Process__road{
    left:24px;
    right:24px;
    top:12px;
    bottom:auto;
    width:auto;
    height:2px;
    background:
      repeating-linear-gradient(
        to right,
        var(--divider-3) 0 14px,
        transparent 14px 26px
      );
  }

  .ProcessCard{
    padding:var(--space-4);
  }

  .ProcessCard__dot{
    left:18px;
    top:-30px;
  }
}

/* =============================================================================
   Desktop
   ============================================================================= */

@media (min-width:1200px){
  .Process__list{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:var(--space-4);
    padding-top:34px;
  }

  .Process__road{
    left:22px;
    right:22px;
    top:12px;
  }

  .ProcessCard{
    padding:var(--space-4);
  }

  .ProcessCard__dot{
    left:18px;
    top:-30px;
  }
}