.step-section {
  /* max-width: 600px; */
  margin: 30px auto;
  padding: 20px;
  background: #f9f9f9;
  border-radius: 12px;
  -webkit-box-shadow: 0 4px 10px rgba(0,0,0,0.1);
          box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  font-family: Arial, sans-serif;
  width: 100%;
}

.step-section h1 {
  text-align: center;
  margin-bottom: 20px;
  color: #333;
}

.summary {
  border: 1px solid #ddd;
  border-radius: 8px;
  margin-bottom: 20px;
  background: #fff;
}

.summary-header {
  padding: 10px;
  background: #007bff;
  color: #fff;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  font-weight: bold;
}

.main-summary-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 15px;
}

.summary-item p {
  margin: 0;
  font-weight: bold;
  color: #5714d3;
}

.summary-item h4 {
  margin: 5px 0 0 0;
  color: #ffffff;
}

.amount-to-pay {
  text-align: center;
  font-size: 1.1rem;
  margin: 15px 0;
  color: #007bff;
  font-weight: bold;
}

.payment-form {
  border: 1px solid #ddd;
  padding: 15px;
  border-radius: 8px;
  background: #fff;
}

.payment-form h3 {
  margin-bottom: 15px;
  color: #333;
}








#pay-button {
  display: block;
  width: 100%;
  padding: 12px;
  background: #28a745;
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
}

#pay-button:hover {
  background: #218838;
}


/* ========================= */

      /* loading screen */

/* ========================= */
.loading-container-step5 {
  position: fixed; /* covers whole screen */
  inset: 0; /* shorthand for top/right/bottom/left: 0 */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 14px;
  background: rgba(255, 255, 255, 0.7); /* soft overlay */
  backdrop-filter: blur(4px); /* modern glass effect */

  z-index: 9999;
}

/* Loader size scales with screen */
.loading-container-step5 .loader {
  width: clamp(40px, 8vw, 70px);
  height: clamp(40px, 8vw, 70px);
  position: relative;
  -webkit-animation: rotate 1.2s infinite ease-in-out;
          animation: rotate 1.2s infinite ease-in-out;
}

/* Balls */
.loading-container-step5 .loader::before,
.loading-container-step5 .loader::after {
  content: "";
  position: absolute;
  width: 35%;
  height: 35%;
  border-radius: 50%;
}

/* First ball */
.loading-container-step5 .loader::before {
  background: #3a3ce7;
  top: 0;
  left: 0;
  -webkit-animation: move1 1.2s infinite ease-in-out;
          animation: move1 1.2s infinite ease-in-out;
}

/* Second ball */
.loading-container-step5 .loader::after {
  background: #ff3d00;
  bottom: 0;
  right: 0;
  -webkit-animation: move2 1.2s infinite ease-in-out;
          animation: move2 1.2s infinite ease-in-out;
}

/* Text under loader */
.loading-text {
  font-size: clamp(14px, 2.5vw, 18px);
  color: #333;
  font-weight: 500;
  text-align: center;
}

/* Animations */
@-webkit-keyframes rotate {
  0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}
@keyframes rotate {
  0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}

@-webkit-keyframes move1 {
  0%, 100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(120%, 120%);
            transform: translate(120%, 120%);
  }
}

@keyframes move1 {
  0%, 100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(120%, 120%);
            transform: translate(120%, 120%);
  }
}

@-webkit-keyframes move2 {
  0%, 100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(-120%, -120%);
            transform: translate(-120%, -120%);
  }
}

@keyframes move2 {
  0%, 100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(-120%, -120%);
            transform: translate(-120%, -120%);
  }
}
