.wcppc-wrap {
  margin-top: 22px;
  padding: 16px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 10px;
  background: #fff;
}

.wcppc-title {
  margin: 0 0 12px;
  font-size: 18px;
}

.wcppc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.wcppc-field {
  margin: 0;
}

.wcppc-field-full {
  grid-column: 1 / -1;
}

.wcppc-field label {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
}

.wcppc-field input,
.wcppc-field select {
  width: 100%;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(0,0,0,.16);
}

.wcppc-shipping {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed rgba(0,0,0,.15);
}

.wcppc-shipping-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.wcppc-shipping-status {
  font-size: 12px;
  opacity: .7;
}

.wcppc-shipping-body.is-loading {
  opacity: .6;
  pointer-events: none;
}

.wcppc-rates {
  display: grid;
  gap: 8px;
}

.wcppc-rate {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 10px;
}

.wcppc-rate input {
  margin-right: 10px;
}

.wcppc-rate-label {
  flex: 1;
}

.wcppc-totals {
  margin-top: 10px;
  display: grid;
  gap: 6px;
}

.wcppc-total-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.wcppc-grand {
  font-weight: 700;
  padding-top: 8px;
  border-top: 1px solid rgba(0,0,0,.10);
}

.wcppc-terms {
  margin-top: 12px;
}

.wcppc-submit {
  width: 100%;
  margin-top: 12px;
  padding: 12px !important;
  border-radius: 10px !important;
}


