/*
 * Estilos mínimos del formulario del capítulo gratis.
 * El tema «Dirigir No Se Improvisa» los afina; con otros temas, esto basta para que se vea bien.
 */
.dnsil { position: relative; }
.dnsil-form { display: grid; gap: 14px; }
.dnsil-form p { margin: 0; }
.dnsil-campos { display: grid; grid-template-columns: 1fr 1.4fr; gap: 14px; }
@media (max-width: 640px) { .dnsil-campos { grid-template-columns: 1fr; } }
.dnsil-campo label { display: block; font-size: .85rem; font-weight: 700; margin-bottom: 6px; }
.dnsil-opcional { font-weight: 400; opacity: .7; }
.dnsil-campo input {
  width: 100%; padding: 13px 15px; font-size: 1rem; box-sizing: border-box;
  border: 1px solid #cdc8bc; border-radius: 7px; background: #fff; color: #0f1620;
}
.dnsil-campo input:focus { outline: 0; border-color: #b4531e; box-shadow: 0 0 0 3px rgba(180,83,30,.16); }
.dnsil-casilla { display: flex; gap: 10px; align-items: flex-start; font-size: .88rem; line-height: 1.5; }
.dnsil-casilla input { margin-top: 4px; flex: 0 0 auto; }
.dnsil-boton[disabled] { opacity: .7; cursor: wait; }
.dnsil-info { font-size: .74rem; line-height: 1.5; opacity: .75; }
.dnsil-aviso { border-radius: 10px; padding: 16px 20px; margin-bottom: 16px; font-size: .95rem; }
.dnsil-aviso p { margin: 0 0 .6em; }
.dnsil-aviso p:last-child { margin-bottom: 0; }
.dnsil-aviso--ok, .dnsil-aviso--confirmado { background: #e9f4ee; border: 1px solid #bfe0cd; color: #1d5a40; }
.dnsil-aviso--info { background: #eaf0f2; border: 1px solid #c9dde2; color: #165466; }
.dnsil-aviso--error { background: #fdecea; border: 1px solid #f3c6c1; color: #8f2d24; }
