/* --- Configuración global --- */
* { 
  box-sizing: border-box; 
}

html, body { 
  height: 100%; 
  margin: 0; 
}

body {
  font-family: 'Roboto', sans-serif;
  background: #fff;
  color: #000;
  /* Centro toda la vista */
  min-height: 100svh;          /* más fiable en móviles que 100vh */
  display: grid;               /* alternativa robusta a flex */
  place-items: center;         /* centra en ambos ejes */
}

/* --- Contenedor del formulario --- */
.form-wrapper {
  width: 100%;
  padding: 30px 10px 10px 10px;  /* top right bottom left */       /* respiro en móviles */
}

.form-container {
  width: min(92vw, 520px);     /* ancho fluido y máximo */
  margin-inline: auto;         /* garantiza centrado horizontal */
  text-align: left;
}

form {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

/* --- Inputs --- */
.form-row {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
  flex: 1;
  padding: 12px 15px;
  border: 1px solid #000; /* Negro */
  border-radius: 25px;
  font-size: 14px;
  outline: none;
  color: #000;
}

/* Placeholders en negro */
input::placeholder,
textarea::placeholder {
  color: #000;
  opacity: 1; /* asegura que no se vea grisáceo */
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus {
  border-color: #000; /* Mantener negro */
}

/* --- Texto aviso de privacidad --- */
.privacy-text {
  font-size: 13px;
  margin: 5px 0;
  line-height: 1.4;
  color: #000;
}

/* --- Checkbox --- */
.checkbox-container {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}

.checkbox-container input {
  width: 16px;
  height: 16px;
}

.checkbox-container a {
  color: #000;
  text-decoration: underline;
}

/* --- Botón --- */
.btn-submit {
  background: #122cde;
  color: white;
  border: none;
  padding: 14px;
  border-radius: 30px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  margin-top: 10px;
  width: 100%;
}

.btn-submit:hover {
  background: #122cde;
}

/* --- Responsivo (desktop) --- */
@media (min-width: 600px) {
  .form-row {
    flex-direction: row; /* Nombre y apellido lado a lado */
  }
}