/* Mismo idioma visual que el buscador de multas / cotizador free (free.sinfotomultas.com.ar):
   fondo #f6f9ff, Rubik, amarillo #ffd500, azul de accion #0b5ed7, tarjetas blancas con sombra suave. */
:root {
  --fondo: #f6f9ff; --navy: #0b1220; --amarillo: #ffd500; --gris: #526072; --borde: #e2e8f0;
  --azul: #0b5ed7; --azul-claro: #1d6bf0; --azul-brillo: #4f8fff;
  --r-md: clamp(14px, 1.6vw, 18px); --r-lg: clamp(16px, 2vw, 22px); --sombra: 0 12px 28px rgba(2, 8, 23, 0.08);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; }
body { background: var(--fondo); color: var(--navy); font-family: "Rubik", system-ui, sans-serif; line-height: 1.45; display: flex; flex-direction: column; min-height: 100%; -webkit-font-smoothing: antialiased; }
main { flex: 1; }
a { color: inherit; text-decoration: none; }
.wrap { max-width: 720px; margin: 0 auto; padding: 24px 20px 48px; width: 100%; }
.wrap.ancho { max-width: 1100px; }
.stack > * + * { margin-top: 16px; }

.barra { position: sticky; top: 0; z-index: 50; height: 64px; display: flex; align-items: center; background: rgba(255,255,255,.9); border-bottom: 1px solid rgba(226,232,240,.7); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.barra-interior { max-width: 1200px; width: 100%; margin: 0 auto; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; }
.logo-img { display: block; height: clamp(36px, 3vw, 46px); width: auto; }
.btn-nav { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-weight: 800; font-size: clamp(13px, .9vw, 15px); padding: clamp(8px, 1vw, 12px) clamp(14px, 1.5vw, 22px); border-radius: clamp(12px, 1vw, 16px); background: linear-gradient(135deg, var(--azul) 0%, var(--azul-claro) 50%, var(--azul-brillo) 100%); box-shadow: 0 14px 30px rgba(11,94,215,.4), inset 0 1px 2px rgba(255,255,255,.4); transition: transform .2s ease, box-shadow .2s ease; }
.btn-nav:hover { transform: translateY(-2px); }
.pie { font-size: 13px; color: var(--gris); background: #fff; border-top: 1px solid var(--borde); margin-top: 32px; }
.pie-interior { max-width: 1100px; margin: 0 auto; padding: 28px 20px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.pie-interior > div + div { border-left: 2px solid var(--amarillo); padding-left: 24px; }
.pie b { display: block; color: var(--navy); font-size: 15px; margin-bottom: 8px; }
.pie p { margin-top: 6px; }
.pie a:hover { text-decoration: underline; }
@media (max-width: 700px) { .pie-interior { grid-template-columns: 1fr; } .pie-interior > div + div { border-left: 0; padding-left: 0; border-top: 2px solid var(--amarillo); padding-top: 16px; } }

.card { background: #fff; border: 1px solid var(--borde); border-radius: var(--r-lg); padding: 22px; box-shadow: var(--sombra); }
.card.claro { background: radial-gradient(1200px 240px at 10% 20%, rgba(255,213,0,.45), transparent 60%), radial-gradient(900px 220px at 88% 18%, rgba(255,238,128,.55), transparent 55%), linear-gradient(135deg, rgba(255,213,0,.55), rgba(255,213,0,.28)); border: 1px solid rgba(15,23,42,.08); border-radius: clamp(18px, 2.4vw, 26px); padding: 22px 22px 18px; }
.card.claro p, .card.claro .muted { color: rgba(2,6,23,.75); font-size: clamp(14px, 1.2vw, 16px); font-weight: 500; line-height: 1.45; }
.card.claro .pill { background: rgba(255,255,255,.6); border-color: rgba(2,6,23,.1); font-weight: 800; }
.card.claro .pill.roja { background: #dc2626; color: #fff; }
.card.claro .pill.green { background: #dcfce7; color: #15803d; }
.pill { display: inline-block; background: var(--amarillo); border: 1px solid rgba(15,23,42,.1); border-radius: 999px; padding: 6px 14px; font-weight: 800; font-size: 14px; color: var(--navy); }
.pill.green { background: #dcfce7; border-color: rgba(21,128,61,.2); color: #15803d; }
.pill.roja { background: #dc2626; color: #fff; }
.pill.soft { background: rgba(11,94,215,.08); border-color: rgba(11,94,215,.2); color: var(--azul); }
.muted { color: var(--gris); font-size: 14px; }
h1 { font-size: clamp(26px, 5vw, 44px); font-weight: 800; letter-spacing: -.03em; line-height: 1.04; color: var(--navy); }
h2 { font-size: clamp(18px, 2vw, 22px); font-weight: 800; letter-spacing: -.01em; color: var(--navy); }
.big { font-size: 44px; font-weight: 800; letter-spacing: -1.5px; line-height: 1; }

.btn { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; border: 1px solid rgba(15,23,42,.1); border-radius: var(--r-md); padding: clamp(14px, 1.4vw, 16px) clamp(16px, 2vw, 20px); font-weight: 500; font-size: clamp(15px, 1.1vw, 16px); cursor: pointer; text-align: center; font-family: inherit; transition: transform .18s ease, box-shadow .18s ease; }
.btn:not(:disabled):hover { transform: translateY(-2px); }
.btn:disabled { opacity: .6; cursor: wait; }
.btn.primary { background: linear-gradient(135deg, var(--azul-claro) 0%, var(--azul) 50%, var(--azul-brillo) 100%); color: #fff; box-shadow: 0 18px 38px rgba(11,94,215,.25), inset 0 1px 2px rgba(255,255,255,.4); font-weight: 700; }
.btn.yellow { background: var(--amarillo); color: var(--navy); font-weight: 700; box-shadow: 0 14px 30px rgba(255,213,0,.35), inset 0 1px 2px rgba(255,255,255,.4); }
.btn.green { width: fit-content; margin-inline: auto; padding: clamp(12px, 1.5vw, 16px) clamp(22px, 3vw, 32px); border-radius: 999px; border: 0; background: linear-gradient(135deg, #25d366, #1da851); color: #fff; box-shadow: 0 18px 40px rgba(37,211,102,.35); font-weight: 700; }
.btn.ghost { width: fit-content; margin-inline: auto; padding-inline: clamp(22px, 3vw, 32px); border-radius: 999px; background: rgba(255,255,255,.9); color: var(--navy); font-weight: 700; border: 1px solid rgba(15,23,42,.12); }
.btn small { display: block; font-weight: 500; font-size: 13px; opacity: .8; margin-top: 2px; }

/* Formulario */
.form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.form .ancho { grid-column: 1 / -1; }
@media (max-width: 560px) { .form { grid-template-columns: 1fr; } }
.campo { display: block; }
.campo span { display: block; font-size: 14px; font-weight: 700; margin-bottom: 6px; }
.campo input, .campo select { width: 100%; min-height: 50px; border: 1px solid rgba(15,23,42,.14); border-radius: var(--r-md); padding: 12px 14px; font-size: 16px; font-family: inherit; color: var(--navy); background: rgba(255,255,255,.94); transition: box-shadow .16s ease, border-color .16s ease; }
.campo input:focus, .campo select:focus { outline: none; border-color: rgba(11,94,215,.38); box-shadow: 0 0 0 5px rgba(11,94,215,.14); }
.sexo { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.opcion { display: flex; gap: 10px; align-items: center; justify-content: center; border: 1px solid rgba(15,23,42,.14); border-radius: var(--r-md); padding: 12px 14px; cursor: pointer; background: rgba(255,255,255,.94); font-weight: 700; min-height: 50px; transition: box-shadow .16s ease, border-color .16s ease; }
.opcion:has(input:checked) { border-color: var(--amarillo); background: #fffbe6; box-shadow: 0 0 0 3px rgba(255,213,0,.25); }
.opcion input { accent-color: var(--navy); }
.check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: rgba(2,6,23,.75); }
.check input { margin-top: 3px; accent-color: var(--azul); width: 18px; height: 18px; flex: none; }
.trampa { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.aviso { background: #fff7ed; color: #9a3412; border: 1px solid rgba(154,52,18,.18); border-radius: var(--r-md); padding: 12px 14px; font-size: 14px; }
.ok { background: #dcfce7; color: #15803d; border: 1px solid rgba(21,128,61,.2); border-radius: var(--r-md); padding: 12px 14px; font-size: 14px; }
.buscando { display: none; align-items: center; gap: 14px; background: rgba(11,94,215,.06); border: 1px solid rgba(11,94,215,.18); border-radius: var(--r-md); padding: 14px 16px; }
.buscando.activo { display: flex; }
.buscando small { display: block; color: var(--gris); margin-top: 2px; }
.rueda { flex: none; width: 44px; height: 44px; border-radius: 50%; border: 4px solid rgba(11,94,215,.15); border-top-color: var(--azul); animation: girar .9s linear infinite; }
@keyframes girar { to { transform: rotate(360deg); } }

/* Pasos 1-2-3 */
.pasos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.paso { border: 1px solid rgba(15,23,42,.1); background: rgba(255,255,255,.85); box-shadow: 0 14px 28px rgba(2,6,23,.06); border-radius: var(--r-lg); padding: 14px; }
.paso-arriba { display: flex; align-items: center; gap: 10px; font-weight: 800; }
.paso-num { flex: none; width: 30px; height: 30px; border-radius: 999px; background: rgba(255,213,0,.5); display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 800; }
.paso p { margin-top: 8px; font-size: 13px; color: rgba(2,6,23,.72); line-height: 1.4; }
@media (max-width: 900px) { .pasos { grid-template-columns: 1fr; } }

/* Hero con la "boleta" de muestra al costado */
.hero { display: grid; grid-template-columns: 1.15fr .85fr; gap: 24px; align-items: center; }
@media (max-width: 860px) { .hero { grid-template-columns: 1fr; } .hero .boleta-demo { display: none; } }
.boleta-demo { background: #fff; border: 1px solid rgba(15,23,42,.12); border-radius: 14px; padding: 16px 18px; box-shadow: 0 24px 50px rgba(2,8,23,.18); transform: rotate(-2deg); font-size: 12px; color: #1f2937; }
.boleta-demo .cab { display: flex; justify-content: space-between; font-weight: 800; border-bottom: 2px solid #0b1220; padding-bottom: 6px; margin-bottom: 8px; }
.boleta-demo .fila { display: flex; justify-content: space-between; padding: 4px 0; border-bottom: 1px dashed #e5e7eb; }
.boleta-demo .fila b { font-variant-numeric: tabular-nums; }
.boleta-demo .sello { margin-top: 10px; display: inline-block; border: 2px solid #15803d; color: #15803d; border-radius: 6px; padding: 2px 8px; font-weight: 800; transform: rotate(3deg); letter-spacing: .04em; }
.boleta-demo .sello.rojo { border-color: #dc2626; color: #dc2626; }
.boleta-demo .codigo { margin-top: 10px; height: 26px; background: repeating-linear-gradient(90deg, #0b1220 0 2px, transparent 2px 4px, #0b1220 4px 5px, transparent 5px 8px); }

/* Resultado */
.resumen { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; align-items: end; }
.dato { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid rgba(15,23,42,.08); }
.dato b { text-align: right; overflow-wrap: anywhere; }
.tabla { width: 100%; font-size: 14px; background: #fff; border-collapse: separate; border-spacing: 0; overflow: hidden; border: 1px solid rgba(15,23,42,.08); border-left: 7px solid #a5d8ff; border-radius: 18px; }
.tabla th { text-align: left; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: rgba(2,6,23,.66); background: rgba(2,6,23,.06); padding: 14px 12px; }
.tabla td { padding: 14px 12px; border-top: 1px solid rgba(15,23,42,.06); vertical-align: top; color: rgba(2,6,23,.88); font-weight: 500; }
.tabla tbody tr:nth-child(odd) td { background: rgba(165,216,255,.22); }
.tabla .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.tabla tr.subtotal td { border-top: 2px solid rgba(2,6,23,.1); background: rgba(2,6,23,.04); font-weight: 800; }
.titulo-jur { display: flex; align-items: center; gap: 10px; font-weight: 900; }
.titulo-jur::before { content: ""; flex: none; width: 12px; height: 12px; border-radius: 999px; background: #a5d8ff; box-shadow: 0 6px 12px rgba(2,6,23,.15); }
.cta { background: linear-gradient(135deg, #fff8dc, #f6edd2); border: 1px solid rgba(255,213,0,.55); border-radius: var(--r-lg); padding: 22px; text-align: center; box-shadow: 0 18px 40px rgba(255,213,0,.15); }
.cta p { margin-top: 8px; margin-bottom: 14px; color: rgba(2,6,23,.75); }
.faq details { border-top: 1px solid rgba(15,23,42,.08); padding: 12px 0; }
.faq summary { cursor: pointer; font-weight: 700; }
.faq p { margin-top: 8px; font-size: 14px; color: rgba(2,6,23,.75); }
@media (max-width: 560px) { .card { padding: 16px; } .resumen { grid-template-columns: 1fr; } .big { font-size: 36px; } .tabla th { font-size: 11px; padding: 10px 4px; } .tabla td { padding: 12px 4px; } .btn.green, .btn.ghost { width: 100%; } }
