/* =========================================
   Total Tech — Process (Ultra Pro Blue)
   Works with: .process-area .process-item .highlight
   ========================================= */

.process-area{
  position: relative;
  padding: 80px 0;
  background:
    radial-gradient(900px 320px at 15% 10%, rgba(31,111,255,.14), transparent 60%),
    radial-gradient(850px 280px at 85% 0%, rgba(14,165,255,.12), transparent 60%),
    linear-gradient(180deg, #f7fbff 0%, #ffffff 60%);
}

/* full width container looks too "raw" -> add breathing room */
.process-area .container-fluid{
  padding-left: 24px;
  padding-right: 24px;
}

/* card */
.process-item{
  position: relative;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 20px;
  padding: 26px 22px;
  min-height: 250px;
  box-shadow: 0 18px 55px rgba(15,23,42,.10);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  overflow: hidden;
}

/* subtle glow */
.process-item::before{
  content:"";
  position:absolute;
  inset: 0;
  background:
    radial-gradient(520px 220px at 20% 0%, rgba(31,111,255,.10), transparent 60%),
    radial-gradient(520px 220px at 90% 40%, rgba(14,165,255,.09), transparent 60%);
  opacity: .55;
  pointer-events:none;
}

.process-item:hover{
  transform: translateY(-6px);
  box-shadow: 0 32px 90px rgba(31,111,255,.18);
  border-color: rgba(31,111,255,.22);
}

/* content spacing */
.process-item-content{
  position: relative;
  z-index: 1;
}

/* Number badge */
.process-item-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 54px;
  height: 54px;
  border-radius: 16px;
  font-weight: 950;
  font-size: 18px;
  color: #ffffff;
  background: linear-gradient(135deg, #1f6fff, #0ea5ff);
  box-shadow: 0 14px 34px rgba(31,111,255,.28);
  margin-bottom: 14px;
}

/* Title */
.process-item-title{
  margin: 4px 0 10px;
  font-size: 16px;
  font-weight: 950;
  letter-spacing: .4px;
  text-transform: uppercase;
  color: #0b1220;
}

/* Text */
.process-item p{
  margin: 0;
  color: #64748b;
  line-height: 1.75;
  font-size: 14.5px;
}

/* Highlight cards (2 and 4) */
.process-item.highlight{
  background: linear-gradient(180deg, rgba(31,111,255,.10), rgba(14,165,255,.06));
  border-color: rgba(31,111,255,.22);
}

.process-item.highlight .process-item-number{
  background: linear-gradient(135deg, #0b1220, #1f6fff);
  box-shadow: 0 18px 40px rgba(15,23,42,.24);
}

/* Desktop progress line (behind the cards) */
@media (min-width: 992px){
  .process-area .row{
    position: relative;
  }
  .process-area .row::before{
    content:"";
    position:absolute;
    left: 7%;
    right: 7%;
    top: 52px; /* aligns with badge height */
    height: 2px;
    background: linear-gradient(90deg, rgba(31,111,255,.18), rgba(14,165,255,.18));
    border-radius: 999px;
    z-index: 0;
  }
  /* make badges sit above the line */
  .process-item-number{ position: relative; z-index: 2; }
}

/* Better spacing on small screens */
@media (max-width: 767px){
  .process-area{ padding: 60px 0; }
  .process-item{ min-height: auto; padding: 22px 18px; }
  .process-area .container-fluid{ padding-left: 16px; padding-right: 16px; }
}
