/* CUSTOMER FLEXIBLE PAYMENT V1 */

.customer-flexible-panel {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(260px, 360px);
  gap: 24px;
  align-items: center;
  margin-top: 28px;
  padding: 26px;
  border: 1px solid
    rgba(117, 224, 255, .24);
  border-radius: 22px;
  background:
    linear-gradient(
      145deg,
      rgba(10, 20, 38, .97),
      rgba(20, 11, 39, .94)
    );
  box-shadow:
    0 20px 55px
    rgba(0, 0, 0, .22);
}

.customer-flexible-panel.selected {
  border-color:
    rgba(50, 215, 255, .85);
  box-shadow:
    0 0 0 2px
      rgba(50, 215, 255, .12),
    0 24px 65px
      rgba(0, 0, 0, .30);
}

.customer-flexible-copy h2 {
  margin: 8px 0 10px;
  font-size:
    clamp(24px, 3vw, 34px);
}

.customer-flexible-copy p {
  margin: 0;
  color: #b8c4da;
  line-height: 1.6;
}

.customer-flexible-copy small {
  display: block;
  margin-top: 12px;
  color: #8491a9;
  line-height: 1.45;
}

.customer-flexible-label {
  display: inline-flex;
  padding: 7px 11px;
  border-radius: 999px;
  color: #63ddff;
  background:
    rgba(57, 207, 255, .12);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
}

.customer-flexible-controls label {
  display: block;
  margin-bottom: 9px;
  color: #dce5f7;
  font-weight: 700;
}

.customer-flexible-input {
  display: flex;
  align-items: center;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid
    rgba(255, 255, 255, .16);
  border-radius: 15px;
  background:
    rgba(4, 9, 18, .74);
}

.customer-flexible-input:focus-within {
  border-color: #42d5ff;
  box-shadow:
    0 0 0 3px
    rgba(66, 213, 255, .11);
}

.customer-flexible-symbol {
  margin-right: 10px;
  color: #65dbff;
  font-weight: 900;
}

.customer-flexible-input input {
  width: 100%;
  border: 0;
  outline: 0;
  color: #fff;
  background: transparent;
  font: inherit;
  font-size: 18px;
  font-weight: 800;
}

#useCustomerFlexibleAmount {
  width: 100%;
  margin-top: 13px;
  padding: 14px 18px;
  border: 0;
  border-radius: 14px;
  color: #061019;
  background:
    linear-gradient(
      135deg,
      #54e1ff,
      #c26cff
    );
  font-weight: 900;
  cursor: pointer;
}

#useCustomerFlexibleAmount:hover {
  transform:
    translateY(-1px);
}

.customer-flexible-error {
  display: block;
  min-height: 20px;
  margin-top: 8px;
  color: #ff858f;
  font-size: 13px;
}

.customer-flexible-limits {
  display: block;
  margin-top: 5px;
  color: #8491a9;
  font-size: 12px;
}

@media (max-width: 760px) {
  .customer-flexible-panel {
    grid-template-columns: 1fr;
    padding: 20px;
  }
}
