/* Estilo común para los formularios históricos de San Jorge */
* { box-sizing: border-box; }
html { background: linear-gradient(#15ae7d 0 210px, #e7f2ed 210px 100%); }
body {
  max-width: 980px;
  margin: 36px auto;
  padding: 32px clamp(18px, 4vw, 48px);
  color: #283431;
  background: #fff;
  border: 1px solid #e1eae6;
  border-radius: 18px;
  box-shadow: 0 14px 40px rgba(25, 65, 50, .09);
  font: 16px/1.6 Arial, Helvetica, sans-serif;
}
body > p:first-child { margin-top: 0; }
h1, h2, h3, body > div:first-of-type p {
  color: #174f3c;
  font-family: Arial, Helvetica, sans-serif;
}
h1, h2 { line-height: 1.25; }
form { margin: 24px 0 0; }
form p { margin: 14px 0; }
form table { width: 100% !important; height: auto !important; border-collapse: collapse; margin: 18px 0; }
form td, form th { padding: 12px; border: 1px solid #dce7e2; vertical-align: middle; }
form tr:nth-child(even) { background: #f7faf8; }
input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=reset]),
select, textarea {
  max-width: 100%;
  min-height: 42px;
  padding: 9px 12px;
  color: #283431;
  background: #fff;
  border: 1px solid #cbd8d2;
  border-radius: 8px;
  font: inherit;
  transition: border-color .15s ease, box-shadow .15s ease;
}
textarea { width: min(100%, 680px); min-height: 110px; resize: vertical; }
input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: #15ae7d;
  box-shadow: 0 0 0 3px rgba(21, 174, 125, .16);
}
input[type=checkbox], input[type=radio] { width: 18px; height: 18px; accent-color: #15ae7d; vertical-align: middle; }
input[type=submit], button, input[type=reset] {
  min-height: 44px;
  margin: 8px 8px 4px 0;
  padding: 10px 20px;
  color: #fff;
  background: #15ae7d;
  border: 0;
  border-radius: 9px;
  font: 700 15px Arial, Helvetica, sans-serif;
  cursor: pointer;
}
input[type=submit]:hover, button:hover { background: #0f8a63; }
input[type=reset] { color: #285344; background: #eaf3ef; }
input[type=reset]:hover { background: #dcebe4; }
@media (max-width: 640px) {
  body { margin: 0; padding: 24px 16px; border: 0; border-radius: 0; }
  form table, form tbody, form tr, form td { display: block; width: 100% !important; }
  form td { border-bottom: 0; }
  form tr:last-child td:last-child { border-bottom: 1px solid #dce7e2; }
}
