/* ============================================================
   STEP 7 – PAYMENT (THEME-BASED)
   Uses your theme variables:
   --gradient-card, --radius-card, --bb-border-color, --shadow-card,
   --color-heading, --color-body, --radius-md, --color-danger
============================================================ */

/* Wrapper */
.bpabfb-step-content.bpabfb-step-6 {
  /* background: var(--gradient-card);
  border-radius: var(--radius-card);
  border: 1px solid var(--bb-border-color);
  padding: 28px;
  box-shadow: var(--shadow-card); */
  color: var(--color-body);
  width: 100%;
  height: auto;
}

/* If your step sometimes has bg-white from old code */
.bpabfb-step-6.bg-white {
  background: var(--gradient-card);
}

/* Title + subtitle */
.bpabfb-step-6 .bpabfb-title {
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 10px;
  color: var(--color-heading);
  display: flex;
  align-items: center;
  gap: 10px;
}

.bpabfb-step-6 .bpabfb-subtitle {
  margin: 0 0 18px;
  font-size: 13px;
  color: var(--color-body) !important;
  opacity: 0.85;
}

/* Scroll wrapper (keep your behavior) */
.bpabfb-step-6 .maintant-height {
  overflow-y: visible;
}

/* Inner spacing */
.bpabfb-step-6 .bpabfb-scroll {
  padding-right: 10px;
}

.bpabfb-step-6 .bpabfb-section {
  display: grid;
  gap: 16px;
}

/* ============================================================
   ORDER SUMMARY (only Date & Time + Amount)
============================================================ */

.bpabfb-step-6 .bpabfb-summary {
  border: 1px solid var(--bb-border-color);
  border-radius: calc(var(--radius-card) - 2px);
  padding: 16px;
  background: rgba(255, 255, 255, 0.06); /* works on dark/light gradients */
  backdrop-filter: blur(6px);
}

.bpabfb-step-6 .bpabfb-summary-title {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-heading);
}

.bpabfb-step-6 .bpabfb-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 0;
  font-size: 13px;
  color: var(--color-body);
}

.bpabfb-step-6 .bpabfb-label {
  opacity: 0.85;
}

.bpabfb-step-6 .bpabfb-value {
  color: var(--color-heading);
  font-weight: 600;
  text-align: right;
  max-width: 62%;
  word-break: break-word;
}

.bpabfb-step-6 .bpabfb-divider {
  border-top: 1px solid var(--bb-border-color);
  opacity: 0.8;
}

.bpabfb-step-6 .bpabfb-row--total {
  padding-top: 12px;
}

.bpabfb-step-6 .bpabfb-row--total .bpabfb-value {
  font-size: 16px;
  font-weight: 700;
}

/* ============================================================
   PAYMENT AREA
============================================================ */

.bpabfb-step-6 .bpabfb-payment {
  border: 1px solid var(--bb-border-color);
  border-radius: calc(var(--radius-card) - 2px);
  padding: 16px;
  background: rgba(255, 255, 255, 0.04);
}

.bpabfb-step-6 .bpabfb-help {
  margin: 0 0 12px;
  font-size: 13px;
  color: var(--color-body) !important;
  opacity: 0.9;
}

/* Square containers spacing */
.bpabfb-step-6 .stripePaymentFormSHow,
.bpabfb-step-6 .sq-card,
.bpabfb-step-6 .sq-apple-pay,
.bpabfb-step-6 .sq-google-pay {
  margin-top: 12px;
}

/* Nice “slot” feel while Square mounts */
.bpabfb-step-6 .sq-card,
.bpabfb-step-6 .sq-apple-pay,
.bpabfb-step-6 .sq-google-pay {
  border-radius: var(--radius-md);
}

/* Fake placeholders when slot empty */
.sq-card:empty::before {
  content: "Loading Payment Method…";
  color: var(--color-body);
  font-size: 13px;
  opacity: 0.65;
  display: block;
  padding: 14px 0;
  text-align: left;
}

/* ============================================================
   TRUST MESSAGE
============================================================ */
.bpabfb-step-6 .bpabfb-trust {
  margin-top: 4px;
  padding-top: 10px;
  text-align: center;
  font-size: 12px;
  color: var(--color-body);
  opacity: 0.8;
}

/* ============================================================
   ERROR MESSAGES
============================================================ */

.square-errors {
  padding: 10px 14px;
  border-radius: var(--radius-md);
  background: rgba(255, 0, 0, 0.1);
  border: 1px solid rgba(255, 0, 0, 0.25);
  color: var(--color-danger);
  font-size: 13px;
  display: none;
}

.square-errors.active {
  display: block;
  animation: fadeIn 0.25s ease-out;
}

/* small fade animation */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width: 640px) {
  .bpabfb-step-content.bpabfb-step-6 {
    padding: 18px;
  }
  .bpabfb-step-6 .bpabfb-value {
    max-width: 58%;
  }
}

/* Force full width */
.sq-apple-pay,
.sq-google-pay {
  width: 100%;
}

/* Square injects an iframe/button inside */
.sq-apple-pay button,
.sq-google-pay button {
  width: 100% !important;
  max-width: 100% !important;
}
.sq-apple-pay iframe,
.sq-google-pay iframe {
  margin: auto !important;
  width: auto !important;
  max-width: 100% !important;
}

/* Card spacing */
.sq-card {
  margin-top: 8px;
}

/* Hide empty wallets */
.sq-apple-pay:empty,
.sq-google-pay:empty {
  display: none;
}
