/* Estilos extra — suaves y modernos */
:root{
  --azul:#306BA9;
  --naranja:#E16D2B;
  --verde:#16a34a;
  --bg-suave:#f7fafc;
  --bg-grad: linear-gradient(180deg, #ffffff 0%, #f6f9fc 100%);
}
html,body{min-height:100%;}
body{
  background: var(--bg-grad);
  color:#1f2937;
  font-family: 'Bahnschrift SemiBold', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
}
.section{
  padding: 2rem 1rem;
}
.card, .tarjeta, .box, .panel{
  background:#fff;
  border-radius:1rem;
  box-shadow: 0 10px 25px rgba(0,0,0,.05);
  padding:1.25rem;
  border:1px solid rgba(0,0,0,.04);
}
.btn, .boton{
  border-radius:.75rem;
  padding:.75rem 1.25rem;
  border: none;
  cursor:pointer;
  transition: transform .12s ease, box-shadow .12s ease;
}
.btn:hover, .boton:hover{
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
}
.btn-primario{background: var(--azul); color:white;}
.btn-secundario{background: var(--naranja); color:white;}
.badge{display:inline-block; padding:.25rem .5rem; border-radius:9999px; background:var(--bg-suave); border:1px solid rgba(0,0,0,.06);}
.header-hero{
  background: radial-gradient(1000px 400px at 0% 0%, rgba(48,107,169,.08), transparent),
              radial-gradient(1000px 400px at 100% 0%, rgba(225,109,43,.08), transparent);
}
input, select, textarea{
  border-radius:.75rem;
  border:1px solid #e5e7eb;
  padding:.65rem .9rem;
  outline:none;
}
input:focus, select:focus, textarea:focus{
  border-color: var(--azul);
  box-shadow: 0 0 0 3px rgba(48,107,169,.15);
}
footer{
  border-top:1px solid rgba(0,0,0,.06);
  background:#fff;
}
/* utilidades */
.text-azul{color:var(--azul);}
.text-naranja{color:var(--naranja);}
.bg-azul{background:var(--azul); color:#fff;}
.bg-naranja{background:var(--naranja); color:#fff;}


/* === Auto-added mobile improvements === */
img { max-width: 100%; height: auto; }
.container { width: min(100% - 2rem, 1200px); margin-inline: auto; }
@media (max-width: 768px){
  .hide-mobile { display: none !important; }
  .stack-mobile { display: grid; grid-template-columns: 1fr !important; gap: 1rem; }
}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
