/* ================================================
   NexaValley – WPForms Custom Styling
   ================================================ */

/* Fondo de la página con formulario */
.wpforms-page .elementor-section-wrap,
.page-template-default .entry-content {
  background: #f0f5fb;
}

/* Contenedor principal del formulario — card */
.wpforms-container {
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 4px 32px rgba(0, 24, 48, 0.10);
  padding: 40px 48px !important;
  max-width: 720px;
  margin: 32px auto !important;
}

/* Espaciado entre campos */
.wpforms-container .wpforms-field {
  margin-bottom: 22px !important;
  padding: 0 !important;
}

/* Etiquetas */
.wpforms-container .wpforms-field-label {
  font-weight: 600 !important;
  color: #001830 !important;
  font-size: 14px !important;
  margin-bottom: 8px !important;
  display: block !important;
  letter-spacing: 0.2px;
}

/* Legend del checkbox de aceptación */
.wpforms-container .wpforms-field-checkbox legend.wpforms-field-label {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #444 !important;
  line-height: 1.6 !important;
  margin-bottom: 10px !important;
  border: none;
  padding: 0;
}

/* Selects */
.wpforms-container select {
  border: 1.5px solid #d0dce8 !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  color: #1a2a3a !important;
  background: #f8fafd !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
  width: 100% !important;
  appearance: auto;
  cursor: pointer;
}

.wpforms-container select:focus {
  border-color: #0070c0 !important;
  box-shadow: 0 0 0 3px rgba(0, 112, 192, 0.12) !important;
  outline: none !important;
  background: #fff !important;
}

/* Inputs de texto */
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="number"],
.wpforms-container input[type="url"],
.wpforms-container input[type="tel"],
.wpforms-container textarea {
  border: 1.5px solid #d0dce8 !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  color: #1a2a3a !important;
  background: #f8fafd !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
  width: 100% !important;
}

.wpforms-container input[type="text"]:focus,
.wpforms-container input[type="email"]:focus,
.wpforms-container textarea:focus {
  border-color: #0070c0 !important;
  box-shadow: 0 0 0 3px rgba(0, 112, 192, 0.12) !important;
  outline: none !important;
  background: #fff !important;
}

/* Checkbox */
.wpforms-container .wpforms-field-checkbox ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.wpforms-container .wpforms-field-checkbox ul li {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 14px !important;
  border: 1.5px solid #d0dce8 !important;
  border-radius: 8px !important;
  background: #f8fafd !important;
  cursor: pointer !important;
  transition: border-color 0.2s, background 0.2s !important;
}

.wpforms-container .wpforms-field-checkbox ul li:hover {
  border-color: #0070c0 !important;
  background: #eef6ff !important;
}

.wpforms-container .wpforms-field-checkbox ul li input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: #0070c0 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}

.wpforms-container .wpforms-field-label-inline {
  font-size: 14px !important;
  color: #333 !important;
  cursor: pointer !important;
  font-weight: 500 !important;
}

/* Radio buttons */
.wpforms-container .wpforms-field-radio ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.wpforms-container .wpforms-field-radio ul li {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 16px !important;
  border: 1.5px solid #d0dce8 !important;
  border-radius: 8px !important;
  background: #f8fafd !important;
  cursor: pointer !important;
  transition: border-color 0.2s, background 0.2s !important;
}

.wpforms-container .wpforms-field-radio ul li:hover {
  border-color: #0070c0 !important;
  background: #eef6ff !important;
}

.wpforms-container .wpforms-field-radio ul li input[type="radio"] {
  width: 17px !important;
  height: 17px !important;
  accent-color: #0070c0 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}

.wpforms-container .wpforms-field-radio ul li label {
  font-size: 14px !important;
  color: #333 !important;
  cursor: pointer !important;
  font-weight: 500 !important;
  margin: 0 !important;
}

/* Estado seleccionado: radio y checkbox */
.wpforms-container .wpforms-field-radio ul li:has(input:checked),
.wpforms-container .wpforms-field-checkbox ul li:has(input:checked) {
  border-color: #0070c0 !important;
  background: #eef6ff !important;
}

/* Botón enviar */
.wpforms-container .wpforms-submit-container {
  margin-top: 8px !important;
  padding: 0 !important;
}

.wpforms-container .wpforms-submit {
  background: linear-gradient(135deg, #001830 0%, #003a70 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 13px 40px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.4px !important;
  cursor: pointer !important;
  transition: background 0.25s, transform 0.15s, box-shadow 0.25s !important;
  box-shadow: 0 3px 12px rgba(0, 24, 48, 0.25) !important;
}

.wpforms-container .wpforms-submit:hover {
  background: linear-gradient(135deg, #003a70 0%, #0070c0 100%) !important;
  box-shadow: 0 5px 20px rgba(0, 24, 48, 0.35) !important;
  transform: translateY(-1px) !important;
}

.wpforms-container .wpforms-submit:active {
  transform: translateY(0) !important;
}

/* Mensajes de error */
.wpforms-container .wpforms-error {
  color: #d63638 !important;
  font-size: 12px !important;
  margin-top: 4px !important;
}

.wpforms-container .wpforms-field.wpforms-has-error select,
.wpforms-container .wpforms-field.wpforms-has-error input {
  border-color: #d63638 !important;
}

/* Separador visual entre secciones del formulario */
.wpforms-container .wpforms-field-checkbox {
  padding-bottom: 22px !important;
  border-bottom: 1px solid #e8eef5 !important;
  margin-bottom: 26px !important;
}

/* Responsive */
@media (max-width: 600px) {
  .wpforms-container {
    padding: 24px 20px !important;
    border-radius: 10px;
    margin: 16px !important;
  }
}

/* Fondo gris-azul para la pagina de carga de certificados */
.elementor-page-3715 .elementor-section,
.page-id-3715 .elementor-section {
  background-color: #eef3f9 !important;
}

/* Card container con sombra sobre el fondo azul */
.page-id-3715 .wpforms-container,
.elementor-page-3715 .wpforms-container {
  background: #ffffff !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 36px rgba(0, 24, 48, 0.13) !important;
  padding: 44px 52px !important;
  max-width: 720px !important;
  margin: 0 auto 48px auto !important;
}

/* Excluir el header del fondo azul de la pagina */
.page-id-3715 header.elementor-location-header .elementor-section,
.elementor-page-3715 header.elementor-location-header .elementor-section {
  background-color: #ffffff !important;
}
