/* SOLINFOR · Documentos gratis (documentos-gratis.html y documento-*.html), 22/10/2026.
   Pensado para personas mayores: letra de 18 px como mínimo en campos y botones, mucho contraste y botones grandes.
   Se apoya en solinfor-herramientas.css (hr-*). */
.dg { font-size: 18px; color: #14202c; }
.dg .hr-hero p { font-size: 1.1rem; }
.dg .hr-caja h2 { font-size: 1.35rem; color: #0c2a4a; }
.dg .hr-caja label, .dg .hr-campos label { font-size: 18px; color: #14202c; }
.dg .hr-caja input, .dg .hr-caja select, .dg .hr-caja textarea { font: inherit; font-size: 18px; font-weight: 400; padding: 12px 14px;
  border: 2px solid #7d8b99; border-radius: 10px; background: #fff; color: #14202c; min-width: 0; width: 100%; box-sizing: border-box; }
.dg .hr-caja textarea { min-height: 96px; resize: vertical; }
.dg .hr-caja input:focus, .dg .hr-caja select:focus, .dg .hr-caja textarea:focus { outline: 3px solid rgba(11, 99, 182, .35); border-color: #0b63b6; }
.dg .hr-campos { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.dg fieldset { border: 0; padding: 0; margin: 0 0 6px; min-width: 0; }
.dg legend { font-weight: 800; font-size: 1.15rem; color: #0c2a4a; padding: 0; margin: 10px 0 10px; }
.dg-bloque { border-top: 1px solid #d9e2ec; padding-top: 6px; margin-top: 6px; }
.dg-ayuda { font-weight: 400; font-size: 16px; color: #46525e; }
/* Elegir el tipo de documento: botones grandes */
.dg-tipos { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 14px; }
.dg .dg-tipos label { flex-direction: row; align-items: center; gap: 10px; margin: 0; padding: 12px 16px; border: 2px solid #0b63b6; border-radius: 12px;
  background: #fff; cursor: pointer; font-weight: 700; color: #0b3d6e; }
.dg .dg-tipos input { width: 22px; height: 22px; flex: 0 0 auto; accent-color: #0b63b6; padding: 0; }
.dg-tipos label:has(input:checked) { background: #0b63b6; color: #fff; }
.dg .dg-casilla { flex-direction: row; align-items: flex-start; gap: 10px; font-weight: 600; }
.dg .dg-casilla input { width: 24px; height: 24px; flex: 0 0 auto; margin-top: 2px; }
/* Botón de descargar */
.dg .dg-descargar { display: block; width: 100%; margin-top: 18px; padding: 18px 24px; border-radius: 12px; font-size: 1.35rem; text-align: center;
  background: #0b63b6; color: #fff !important; border: 0; cursor: pointer; font-weight: 800; }
.dg .dg-descargar:hover { background: #0b3d6e; }
.dg-privado { margin: 12px 0 0; font-size: 17px; color: #1f3a55; font-weight: 600; }
.dg-aviso { margin: 10px 0 0; font-size: 18px; font-weight: 700; color: #1b5e20; min-height: 1em; }
.dg-pendiente { font-weight: 800; color: #0b3d6e; margin: -4px 0 12px; }
/* ¿Le ha servido? */
.dg-opinion { margin-top: 16px; padding: 16px 18px; border: 2px solid #d9e2ec; border-radius: 12px; background: #f6f9fc; }
.dg-opinion p { margin: 0 0 10px; font-weight: 700; font-size: 1.1rem; }
.dg-opinion button { font: inherit; font-size: 18px; font-weight: 800; padding: 12px 28px; margin: 0 10px 0 0; border-radius: 10px; border: 2px solid #0b63b6;
  background: #fff; color: #0b63b6; cursor: pointer; }
.dg-opinion button:hover { background: #eaf3fc; }
.dg-gracias { color: #1b5e20; }
/* Explicación debajo del formulario */
.dg-explica { margin-top: 22px; }
.dg-explica h2 { font-size: 1.3rem; margin: 0 0 10px; color: #0c2a4a; }
.dg-explica p, .dg-explica li { line-height: 1.55; }
.dg-explica ol, .dg-explica ul { padding-left: 1.3em; margin: 0 0 12px; }
.dg-explica li { margin-bottom: 6px; }
.dg-explica a { color: #0b5aa6; font-weight: 700; }
.dg-legal { font-size: 16px; color: #46525e; border-left: 4px solid #b8c4d0; padding: 4px 0 4px 12px; margin: 18px 0 0; }
.dg-negocio { margin: 26px 0 0; font-size: 16px; color: #46525e; text-align: center; }
.dg-negocio a { color: #0b5aa6; font-weight: 700; }
/* Índice: tarjetas */
.dg .hr-tarjeta { padding: 22px 22px 20px; border: 1px solid #c3cfdb; }
.dg .hr-tarjeta b { font-size: 1.2rem; color: #0c2a4a; }
.dg .hr-tarjeta span { color: #2f3d4b; font-size: 17px; }
.dg .hr-tarjeta em { font-size: 18px; color: #0b5aa6; }
.dg .hr-tarjeta.dg-estrella { border: 3px solid #0c336d; background: #f3f8fd; }
@media (min-width: 700px) { .dg .hr-tarjeta.dg-estrella { grid-column: span 2; } }
.dg-estrella small { display: block; font-size: 15px; color: #46525e; }
.dg-intro { max-width: 860px; }
.dg-quienes { font-size: 1rem; opacity: .95; }
.dg-quienes a { color: inherit; text-decoration: underline; }
.dg-titulo-seccion { font-size: 1.6rem; color: #0c2a4a; margin: 8px 0 6px; }
.dg-entrada { margin: 0 0 18px; color: #2f3d4b; }
/* Trámites oficiales */
.dg-tramites { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; }
.dg-tramite { display: flex; flex-direction: column; background: #fff; border: 1px solid #c3cfdb; border-radius: 16px; padding: 22px; scroll-margin-top: 90px; }
.dg-tramite h3 { font-size: 1.25rem; margin: 0 0 6px; color: #0c2a4a; }
.dg-tramite > p { margin: 0 0 10px; color: #2f3d4b; line-height: 1.5; }
.dg-tramite ol { padding-left: 1.3em; margin: 0 0 12px; line-height: 1.5; }
.dg-tramite li { margin-bottom: 6px; }
.dg-tramite .dg-ident { font-size: 16px; color: #46525e; }
.dg-tramite .dg-ident a { color: #0b5aa6; font-weight: 700; }
.dg-tramite .dg-tasa { font-size: 16px; font-weight: 700; color: #33414f; }
.dg-ir { display: block; margin-top: auto; padding: 16px 18px; border-radius: 12px; background: #0b63b6; color: #fff !important; text-align: center;
  font-weight: 800; font-size: 1.15rem; text-decoration: none; }
.dg-ir:hover { background: #0b3d6e; }
.dg-sin-boton { margin-top: auto; padding: 14px 16px; border-radius: 12px; background: #f2f6fa; font-weight: 700; color: #33414f; }
@media (max-width: 480px) {
  .dg .hr-seccion { padding-left: 16px; padding-right: 16px; }
  .dg .hr-caja { padding: 16px; }
  .dg-tramites { grid-template-columns: 1fr; }
}
.dg-legal-arriba { margin: 0 0 18px; }
/* Reseña en Google: voluntaria e igual para todos */
.dg-resena { margin-top: 16px; padding: 16px 18px; border: 1px solid #c3cfdb; border-radius: 12px; background: #fff; }
.dg-resena p { margin: 0 0 10px; font-size: 17px; color: #2f3d4b; }
.dg-resena-btn { display: inline-block; padding: 12px 22px; border-radius: 10px; border: 2px solid #0b63b6; color: #0b63b6; font-weight: 800; text-decoration: none; }
.dg-resena-btn:hover { background: #eaf3fc; }
