:root { --ra-verde:#23ce7c; --ra-verde-suave:#e8faf1; --ra-azul:#133d7a; --ra-borde:#e2e8f0; }

.ra-rec { max-width: 720px; margin: 0 auto; }

.ra-rec-card {
  padding: 36px;
  background: #fff;
  border: 1px solid var(--ra-borde);
  border-radius: 20px;
  box-shadow: 0 14px 40px rgba(19,61,122,.07);
}
.ra-rec-card h2 { margin: 0 0 10px; padding: 0; font-size: 26px; color: var(--ra-azul); }
.ra-rec-card h3 { margin: 18px 0 0; padding: 0; font-size: 18px; color: var(--ra-azul); }
.ra-rec-card p { color: #475569; line-height: 1.6; }
.ra-rec-ok { border-color: var(--ra-verde); }

.ra-rec-form { display: flex; flex-direction: column; gap: 16px; margin-top: 20px; }
.ra-rec-form label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; color: var(--ra-azul); }
.ra-rec-form label small { font-weight: 400; color: #64748b; }
.ra-rec-form input[type=text], .ra-rec-form input[type=email], .ra-rec-form input[type=password],
.ra-rec-form input[type=tel], .ra-rec-form select, .ra-rec-form textarea {
  width: 100%; box-sizing: border-box; padding: 12px 14px; border: 1px solid var(--ra-borde);
  border-radius: 10px; font-size: 15px; font-weight: normal; color: #1e293b; background: #fff; box-shadow: none;
}
.ra-rec-form input:focus, .ra-rec-form select:focus, .ra-rec-form textarea:focus {
  outline: none; border-color: var(--ra-verde); box-shadow: 0 0 0 3px rgba(35,206,124,.2);
}
.ra-rec-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ra-rec-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

.ra-rec-form .ra-rec-check { flex-direction: row; align-items: flex-start; gap: 10px; font-weight: 400; color: #475569; font-size: 14px; }
.ra-rec-check input { margin-top: 3px; }
.ra-rec-check a { color: var(--ra-verde); font-weight: 600; }

.ra-rec-btn {
  display: inline-block; align-self: flex-start; padding: 14px 32px; background: var(--ra-verde); color: #fff;
  border: none; border-radius: 12px; font-size: 16px; font-weight: 700; text-decoration: none; cursor: pointer; transition: .25s;
}
.ra-rec-btn:hover { background: var(--ra-azul); color: #fff; }
.ra-rec-btn-rojo { background: #d64545; }
.ra-rec-btn-rojo:hover { background: #a82f2f; }

.ra-rec-error { margin: 14px 0 0; padding: 12px 16px; background: #fdecec; border: 1px solid #e0554f; border-radius: 10px; color: #a5322c; font-size: 14px; }

.ra-rec-baja { margin: 18px 0 0; font-size: 14px; }
.ra-rec-baja a { color: #a82f2f; }
.ra-rec-legal { margin: 10px 0 0; font-size: 12px; line-height: 1.5; color: #94a3b8 !important; }

@media (max-width: 640px) {
  .ra-rec-card { padding: 24px 18px; border-radius: 16px; }
  .ra-rec-row { grid-template-columns: 1fr; }
}
