/* ===== BASE DO FORM ===== */
.ebxda-publico-form {
  font-size: 14px;
}

/* ===== RESET LOCAL (sobrepõe o tema) ===== */
.ebxda-publico-form input,
.ebxda-publico-form select,
.ebxda-publico-form textarea {
  border: 1px solid #ced4da;
  border-radius: 0.375rem;
  padding: 0.375rem 0.75rem;
  width: 100%;
  transition: border-color 0.2s, box-shadow 0.2s;
  box-shadow: none;
}

/* ===== PADRÃO BOOTSTRAP ===== */
.ebxda-publico-form .form-control,
.ebxda-publico-form .form-select {
  border: 1px solid #ced4da;
  border-radius: 0.375rem;
  padding: 0.375rem 0.75rem;
  background-color: #fff;
}

/* ===== FOCO (UX MELHOR) ===== */
.ebxda-publico-form .form-control:focus,
.ebxda-publico-form .form-select:focus {
  border-color: #c92f3b;
  box-shadow: 0 0 0 0.2rem rgba(201, 47, 59, 0.15);
  outline: none;
}

/* ===== LABEL ===== */
.ebxda-publico-form .form-label {
  font-weight: 500;
  margin-bottom: 4px;
}

/* ===== TÍTULOS DOS CARDS ===== */
.card-header h5 {
  margin: 0;
  font-weight: 600;
}

/* ===== ESPAÇAMENTO ENTRE SEÇÕES ===== */
.ebxda-publico-form .card {
  margin-bottom: 20px;
}

/* ===== BOTÃO ===== */
#ebxda-submit {
  background-color: #c92f3b;
  border: none;
  color: #fff;
  padding: 10px 18px;
  border-radius: 6px;
  font-size: 15px;
  transition: background 0.2s;
}

#ebxda-submit:hover {
  background-color: #a82630;
}

/* ===== FEEDBACK ===== */
.ebxda-feedback {
  margin-top: 15px;
  font-size: 14px;
}

/* ===== SÓCIOS ===== */
.ebxda-socio-card {
  border-top: 1px solid #eee;
  padding-top: 15px;
}

/* ===== PLANO ===== */
.plano-card {
  border: 2px solid #ddd;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
  background: #fff;
}

.plano-card:hover {
  border-color: #c92f3b;
}

.plano-card.active {
  border-color: #c92f3b;
  background: #fff5f6;
}

/* ===== TEXTO DO PLANO ===== */
.plano-card h6 {
  font-weight: 600;
  margin-bottom: 5px;
}

.plano-card .valor {
  font-size: 18px;
  font-weight: 600;
}

/* ===== RESPONSIVO EXTRA ===== */
@media (max-width: 767px) {
  .plano-card {
    text-align: center;
  }
}

.plano-card {
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  padding: 20px;
  cursor: pointer;
  transition: all 0.25s ease;
  background: #fff;
  height: 100%;
}

/* hover */
.plano-card:hover {
  border-color: #c92f3b;
  transform: translateY(-2px);
}

/* ativo */
.plano-card.active {
  border-color: #c92f3b;
  background: #fff5f6;
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

/* título */
.plano-card h6 {
  font-weight: 600;
  margin-bottom: 8px;
}

/* valor */
.plano-card .valor {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 5px;
}

/* destaque opcional */
.plano-card.active .valor {
  color: #c92f3b;
}
/* ===== FEEDBACK MELHORADO ===== */
.ebxda-feedback {
  margin-top: 15px;
}

.ebxda-feedback .alert {
  margin-bottom: 0;
  padding: 10px 14px;
  font-size: 14px;
}

/* ===== INPUT ERROR ===== */
.ebxda-publico-form .is-invalid {
  border-color: #dc3545;
}

.ebxda-publico-form .is-valid {
  border-color: #198754;
}

/* ===== BOTÃO LOADING ===== */
#ebxda-submit.loading {
  opacity: 0.7;
  pointer-events: none;
  position: relative;
}

#ebxda-submit.loading::after {
  content: '';
  width: 16px;
  height: 16px;
  border: 2px solid #fff;
  border-top: 2px solid transparent;
  border-radius: 50%;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  animation: spin 0.6s linear infinite;
}

@keyframes spin {
  to {
    transform: translateY(-50%) rotate(360deg);
  }
}