/* Formulario ------------------------------------------------------------ */
.cmr-campo { gap: .35rem; }

.cmr-campo input, .cmr-campo textarea { padding: .55rem .8rem; }

/* Alto de dos líneas: el motivo suele ser una frase, no un párrafo. Quien
   escriba más, lo estira. */
.cmr-campo textarea { min-height: 2.9rem; height: 2.9rem; }

.cmr-campo { display: grid; gap: .5rem; }

.cmr-campo-etiqueta { display: flex; align-items: center; gap: .4rem; font-weight: 800; font-size: .72rem; letter-spacing: .12em; color: var(--verde); }

.cmr-campo input, .cmr-campo textarea {
  width: 100%;
  padding: .8rem 1rem;
  border: 1px solid var(--crema);
  border-radius: var(--radio);
  background: var(--blanco);
  transition: border-color var(--transicion);
}

.cmr-campo input:focus, .cmr-campo textarea:focus { border-color: var(--verde); outline: none; }

.cmr-campo textarea { resize: vertical; }

.cmr-campo-personas { max-width: 16rem; }

.cmr-resumen-reserva p { display: flex; align-items: center; gap: .5rem; font-weight: 600; color: var(--verde); }

.cmr-boton-solido {
  display: inline-block;
  font-weight: 700;
  font-size: .78rem;
  letter-spacing: .12em;
  color: var(--papel);
  background: var(--verde);
  padding: .95rem 2rem;
  border-radius: var(--radio);
  text-align: center;
  transition: background var(--transicion), transform var(--transicion);
}

.cmr-boton-solido:hover:not(:disabled) { background: var(--verde-claro); transform: translateY(-1px); }

.cmr-boton-solido:disabled { opacity: .45; cursor: not-allowed; }

/* El botón es la excepción a la regla de ancho del formulario: se ajusta a
   su texto en vez de estirarse con los campos. */
.cmr-enviar { justify-self: start; width: auto; }

.cmr-boton-texto { font-weight: 600; font-size: .8rem; letter-spacing: .06em; color: var(--verde); text-decoration: underline; }

.cmr-resultado { padding: 1rem 1.2rem; border-radius: var(--radio); display: grid; gap: .4rem; }

.cmr-resultado.es-ok { background: rgba(8, 68, 56, .1); color: var(--verde); }

.cmr-resultado.es-ok p { display: flex; align-items: center; gap: .5rem; font-weight: 600; }

.cmr-resultado.es-error { background: rgba(163, 49, 42, .1); color: #a3312a; }

.cmr-resultado ul { margin-left: 1.2rem; }
