/* Solventia · hoja de estilos del diseño (Claude Design → PHP)
   Todo el layout vive inline en las vistas; aquí solo base, estados
   hover/focus (no expresables inline) y la capa responsive. */

html, body { margin: 0; padding: 0; background: #EFECE6; font-family: 'Archivo', sans-serif; color: #0A1B33; }
* { box-sizing: border-box; }
a { color: #0A1B33; text-decoration: none; }
::selection { background: #C9A44C; color: #0A1B33; }
input, select, textarea, button { font-family: 'Archivo', sans-serif; }
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible, a:focus-visible { outline: 2px solid #C9A44C; outline-offset: 2px; }
select option { color: #0A1B33; }

/* ── Estados hover / focus del diseño ─────────────────────── */
.hbtn-gold:hover { background: #E3C77E !important; }
.hbtn-ghost:hover { background: rgba(255,255,255,.1) !important; }
.hbtn-navy:hover { background: #C9A44C !important; color: #0A1B33 !important; }
.hbtn-onavy:hover { background: #0A1B33 !important; color: #fff !important; }
.hbtn-ogold:hover { background: #C9A44C !important; color: #06111F !important; }
.hlk:hover { color: #C9A44C !important; }
.hlk-g:hover { color: #E3C77E !important; }
.hcard:hover { border-color: #C9A44C !important; }
.hop:hover { opacity: .94; }

.inp { border-radius: 0; -webkit-appearance: none; appearance: none; }
.inp:focus { border-bottom-color: #C9A44C !important; outline: none; }
.inp::placeholder { color: rgba(255,255,255,.35); }
.inp-l::placeholder { color: rgba(10,27,51,.35); }
select.inp { background-image: none; }

/* Errores de validación bajo los campos */
.ferr { display: block; margin-top: 8px; font-size: 13px; line-height: 1.4; color: #E3C77E; }
.ferr-l { color: #A33B2E; }

/* Checkbox RGPD */
.chk { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; }
.chk input { width: 16px; height: 16px; margin-top: 3px; flex: none; accent-color: #C9A44C; }

/* Honeypot */
.hp { position: absolute; left: -9999px; top: -9999px; }

/* Flash */
.flash { padding: 16px 24px; font-size: 15px; font-weight: 600; }
.flash.error { background: #A33B2E; color: #fff; }
.flash.success { background: #0A1B33; color: #E3C77E; }

/* Texto pendiente en legales */
.pend { color: #A8862F; }

/* Páginas de texto (legal / privacidad) */
.prose2 { max-width: 820px; }
.prose2 h2 { font-size: 24px; font-weight: 700; letter-spacing: -.02em; margin: 40px 0 0; }
.prose2 p, .prose2 li { font-size: 16.5px; line-height: 1.7; color: rgba(10,27,51,.8); margin: 14px 0 0; }
.prose2 a { text-decoration: underline; text-decoration-color: rgba(201,164,76,.7); }

/* ── Capa responsive (el diseño es 1440px de escritorio) ──── */
@media (max-width: 1200px) {
  .g4 { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 980px) {
  .g, .g4 { grid-template-columns: 1fr !important; }
  .sx { padding-left: 24px !important; padding-right: 24px !important; }
  .hero { height: auto !important; min-height: 520px !important; }
  .hero-c { padding-top: 110px !important; padding-bottom: 64px !important; }
  h1 { font-size: clamp(40px, 10vw, 60px) !important; line-height: 1.02 !important; }
  h2 { font-size: clamp(30px, 6.5vw, 40px) !important; }
  .ehead { flex-direction: column !important; gap: 14px !important; }
  .nav { overflow-x: auto; scrollbar-width: none; }
  .nav::-webkit-scrollbar { display: none; }
  .hdr { padding: 0 24px !important; }
  .ftr-top, .ftr-bot { flex-direction: column !important; gap: 24px !important; text-align: left !important; }
  .ftr-bot div { text-align: left !important; }
}
