.sbpbr-gateway, .sbpbr-wizard, .sbpbr-lookup-page{max-width:920px;margin:0 auto;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#131f51;line-height:1.45}
.sbpbr-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:14px 0}
.sbpbr-card{background:#fff;border:1px solid rgba(19,31,81,.12);border-radius:16px;padding:14px;box-shadow:0 6px 20px rgba(19,31,81,.06)}
.sbpbr-btn{border:none;border-radius:14px;padding:10px 14px;background:#131f51;color:#fff;cursor:pointer}
.sbpbr-btn-ghost{background:transparent;color:#131f51;border:1px solid rgba(19,31,81,.18)}
.sbpbr-btn-link{display:inline-block;text-decoration:none;text-align:center}
.sbpbr-row{display:flex;gap:10px;align-items:center}
.sbpbr-row input{flex:1;padding:10px;border-radius:12px;border:1px solid rgba(19,31,81,.18)}
.sbpbr-hint{opacity:.75;font-size:13px}
.sbpbr-result{margin-top:10px}
.sbpbr-ok{padding:10px;border-radius:12px;background:rgba(69,229,187,.18)}
.sbpbr-err{padding:10px;border-radius:12px;background:rgba(255,130,112,.18)}
.sbpbr-field-error{border-color:#cc0000 !important;box-shadow:0 0 0 1px rgba(204,0,0,.25) !important}
.sbpbr-modal{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:9999}
.sbpbr-modal__content{width:min(760px,92vw);background:#fff;border-radius:18px;padding:14px;border:1px solid rgba(19,31,81,.12);max-height:86vh;overflow:auto}
.sbpbr-modal__header{display:flex;justify-content:space-between;align-items:center}
.sbpbr-x{background:transparent;border:none;font-size:22px;cursor:pointer}
.sbpbr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}
.sbpbr-grid .sbpbr-span-2{grid-column:1/-1}
.sbpbr-grid label{display:flex;flex-direction:column;font-size:13px;gap:6px}
.sbpbr-grid input,.sbpbr-grid textarea{padding:10px;border-radius:12px;border:1px solid rgba(19,31,81,.18)}
.sbpbr-grid textarea{min-height:90px;grid-column:1/-1}
.sbpbr-check{grid-column:1/-1;flex-direction:row;align-items:center;gap:10px}
.sbpbr-modal__footer{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}
@media(max-width:720px){.sbpbr-grid{grid-template-columns:1fr}}

/* Wizard: look & feel premium, limpio y ordenado */
.sbpbr-wizard-header{margin:18px 0 14px}
.sbpbr-wizard-header h1{margin:0 0 6px;font-size:34px;letter-spacing:-.2px}
.sbpbr-wizard-header p{margin:6px 0}
.sbpbr-wizard-steps{margin-top:10px}
.sbpbr-step{background:#fff;border:1px solid rgba(19,31,81,.12);border-radius:18px;padding:18px;box-shadow:0 8px 26px rgba(19,31,81,.06)}
.sbpbr-step h2{margin:0 0 4px;font-size:24px;letter-spacing:-.2px}
.sbpbr-step h3{margin:18px 0 8px;font-size:18px}
.sbpbr-sub{margin:0 0 14px;opacity:.8}
.sbpbr-hr{height:1px;background:rgba(19,31,81,.10);margin:16px 0;border:0}

.sbpbr-field{margin:0 0 12px}
.sbpbr-field label{display:block;font-weight:600;font-size:13px;margin-bottom:6px}
.sbpbr-field input,.sbpbr-field select,.sbpbr-field textarea{box-sizing:border-box;width:100%;padding:12px 12px;border-radius:14px;border:1px solid rgba(19,31,81,.18);background:#fff;color:#131f51}
.sbpbr-field select{height:48px;min-height:48px;line-height:1.2;padding-right:42px;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%23131f51' d='M5.5 7.5l4.5 4.5 4.5-4.5 1.2 1.2-5.7 5.7-5.7-5.7z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px 18px}
.sbpbr-field select:disabled{opacity:.65;background-color:rgba(19,31,81,.03)}
.sbpbr-field textarea{min-height:110px}
.sbpbr-muted{display:block;margin-top:6px;font-size:12px;opacity:.75}
.sbpbr-note{margin-top:10px;padding:10px 12px;border-radius:14px;background:rgba(255,203,87,.20)}
.sbpbr-success{margin-top:10px;padding:10px 12px;border-radius:14px;background:rgba(69,229,187,.18)}
.sbpbr-error{margin-top:10px;padding:10px 12px;border-radius:14px;background:rgba(255,130,112,.18)}

.sbpbr-grid{gap:14px}
.sbpbr-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}
.sbpbr-secondary{background:transparent;color:#131f51;border:1px solid rgba(19,31,81,.18)}

/* Checkbox groups (ordenados) */
.sbpbr-checkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sbpbr-checkgrid label{display:flex;align-items:center;gap:10px;font-weight:500;font-size:13px;margin:0;padding:10px 12px;border:1px solid rgba(19,31,81,.12);border-radius:14px;background:rgba(19,31,81,.02)}
.sbpbr-checkgrid input{width:auto;margin:0}
@media(max-width:720px){.sbpbr-checkgrid{grid-template-columns:1fr}}

/* Botón loading (recomendación) */
.sbpbr-btn[disabled]{opacity:.75;cursor:not-allowed}


/* Validation */
.sbpbr-invalid{border-color:#d63638 !important; box-shadow:0 0 0 1px rgba(214,54,56,.35) !important;}
.sbpbr-field-error{color:#d63638; font-size:12px; margin-top:6px;}


/* Gateway cards: simetría + look SoulBuddy */
.sbpbr-cards{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:18px;
  align-items:stretch;
}
.sbpbr-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height: 220px;
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}
.sbpbr-card p{ margin-bottom: 14px; }
.sbpbr-card .sbpbr-btn, .sbpbr-card .sbpbr-btn-link{
  margin-top:auto;
  align-self:flex-start;
}

/* Modal lookup result spacing */
#sbpbr_lookup_modal .sbpbr-result{ margin-top:10px; }

.sbpbr-inline-error,
.sbpbr-inline-err{
  margin-top:8px;
  padding:10px 12px;
  border-radius:12px;
  background: rgba(220, 53, 69, .10);
  color:#b02a37;
  border:1px solid rgba(220,53,69,.25);
  font-size: 14px;
}
.sbpbr-error{
  border-color: rgba(220,53,69,.55) !important;
  box-shadow: 0 0 0 3px rgba(220,53,69,.12);
}
.sbpbr-helper--label {
  display: block;
  margin-top: 2px;     /* pegado al label */
  margin-bottom: 6px;  /* separa del input */
  font-size: 11px;
  line-height: 1.3;
  color: #8A8FA6;
}
/* Amenidades: grid estable (evita bugs con labels como grid-items) */
.sbpbr-checkgrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:10px;
}

.sbpbr-checkitem{
  min-width:0;
}

.sbpbr-checkitem > label{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  box-sizing:border-box;
  font-weight:500;
  font-size:13px;
  margin:0;
  padding:10px 12px;
  border:1px solid rgba(19,31,81,.12);
  border-radius:14px;
  background:rgba(19,31,81,.02);
}

.sbpbr-checkitem input{
  width:auto;
  margin:0;
}

@media(max-width:720px){
  .sbpbr-checkgrid{ grid-template-columns: 1fr; }
  .sbpbr-checkitem--full{ grid-column:auto; }
}

.sbpbr-linklike{
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  color:#131f51;
  text-decoration:underline;
  cursor:pointer;
  font:inherit;
}
.sbpbr-linklike:hover{opacity:.85}


/* Modal Values: layout limpio y centrado */
#sbpbr_values_modal.sbpbr-modal{
  padding: 18px;
}

#sbpbr_values_modal .sbpbr-modal__content{
  width: min(860px, 96vw);
  border-radius: 20px;
  padding: 18px;
}

#sbpbr_values_modal .sbpbr-modal__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 14px;
}

#sbpbr_values_modal h3{
  margin:0;
  font-size: 18px;
  letter-spacing: -.2px;
}

#sbpbr_values_modal .sbpbr-modal__sub{
  margin:6px 0 0;
  font-size: 13px;
  opacity: .75;
}

/* Grid de valores */
.sbpbr-values-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.sbpbr-values-card{
  border: 1px solid rgba(19,31,81,.12);
  border-radius: 16px;
  padding: 14px;
  background: rgba(19,31,81,.02);
}

.sbpbr-values-title{
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 8px;
}

.sbpbr-values-text{
  font-size: 13px;
  opacity: .85;
  line-height: 1.45;
}

/* Footer alineado */
#sbpbr_values_modal .sbpbr-modal__footer{
  display:flex;
  justify-content:flex-end;
  margin-top: 14px;
}

/* Móvil */
@media (max-width: 720px){
  .sbpbr-values-grid{ grid-template-columns: 1fr; }
  #sbpbr_values_modal .sbpbr-modal__content{ padding: 14px; }
}

/* Paso 5: checkbox aceptación (no hereda estilos de inputs normales) */
.sbpbr-checkbox-accept{
  margin-top:18px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  font-weight:600;
  font-size:13px;
  cursor:pointer;
}

.sbpbr-checkbox-accept input[type="checkbox"]{
  width:auto !important;
  min-width:18px;
  height:18px;
  padding:0 !important;
  border-radius:4px;
  margin:0;
  flex:0 0 auto;
}

.sbpbr-checkbox-accept span{
  line-height:1.3;
  margin:0;
}
/* FIX DEFINITIVO: evita que label global rompa el checkbox final */
label.sbpbr-checkbox-accept{
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:10px;
}
