.kits { max-width: 46rem; margin: 0 auto; padding: 1.5rem 1rem 3rem; }
.kits h1 { font-family: var(--display); font-weight: 400; font-size: clamp(2.4rem, 7vw, 3.4rem); margin: .25rem 0 1rem; color: var(--tinta); }
.volver { display: inline-block; color: var(--suave); text-decoration: none; font-weight: 700; }
.volver:hover { color: var(--rojo); }
.bloque { margin: 0 0 1.25rem; padding: 1.25rem; border: 2px solid var(--linea); border-radius: var(--radio); background: var(--hoja); }
.bloque h2 { margin: 0 0 .75rem; font-family: var(--display); font-weight: 400; font-size: 1.8rem; }
.selectores { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem 1rem; margin-bottom: .75rem; }
.bloque .campo { display: flex; flex-direction: column; gap: .3rem; }
.bloque .campo label { font-weight: 700; }
.bloque select, .bloque textarea, .bloque input:not([type=file]) { box-sizing: border-box; width: 100%; font: inherit; padding: .65rem .75rem; border: 2px solid var(--linea); border-radius: 12px; background: #fff; color: var(--texto); }
.bloque input[type=file] { font: inherit; }
.bloque input:focus, .bloque select:focus, .bloque textarea:focus { outline: 3px solid var(--lima); border-color: var(--tinta); }
.tabla-kit { width: 100%; border-collapse: collapse; margin-bottom: .75rem; }
.tabla-kit th, .tabla-kit td { padding: .5rem .4rem; border-bottom: 1px solid var(--linea); text-align: left; }
.tabla-kit .num { text-align: right; white-space: nowrap; }
.tabla-kit tfoot th { border-bottom: 0; font-family: var(--display); font-size: 1.4rem; font-weight: 400; }
.tabla-kit tfoot .num { color: var(--rojo); }
.confirmacion { text-align: center; background: var(--durazno); border-color: var(--tinta); }
.confirmacion .boton-principal, .confirmacion .boton-secundario { margin: .25rem; display: inline-block; text-decoration: none; }
@media (max-width: 560px) { .selectores { grid-template-columns: 1fr; } .tabla-kit th:nth-child(3), .tabla-kit td:nth-child(3) { display: none; } }
.kits .confirmacion { max-width: none; }
