/* Contenedor general */
#cuerpo-moto {
    margin: 30px auto;
    width: auto;
    max-width: 760px;
    padding: 0 10px;
}

/* Nota metodológica */
.nota-metodologica-moto {
    background: #f4f8f1;
    border-left: 4px solid #51813A;
    border-radius: 8px;
    padding: 0.85rem 1rem;
    margin-bottom: 22px;
    line-height: 1.45;
}

/* Cada fila del formulario */
#cuerpo-moto .fila-moto {
    display: grid;
    grid-template-columns: minmax(220px, 260px) minmax(180px, 1fr) auto;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

/* Labels */
#cuerpo-moto label {
    font-weight: 500;
    margin-bottom: 0;
}

/* Inputs y selects */
#cuerpo-moto input,
#cuerpo-moto select {
    border-radius: 8px;
    border: 2px solid #51813A;
    padding: 0.75rem 0.9rem;
    min-height: 44px;
    width: 100%;
    box-sizing: border-box;
}

/* Botones generales dentro del módulo */
#cuerpo-moto button {
    height: auto;
    white-space: nowrap;
}

/* Mantener los botones ? realmente circulares aunque hereden reglas generales */
#cuerpo-moto .btn-info-circle {
    width: 34px;
    height: 34px;
    min-width: 34px;
    padding: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Resultado */
#contenedor-total {
    margin-top: 24px;
}

#total-seccion {
    line-height: 1.35;
}

/* Responsive */
@media (max-width: 720px) {
    #cuerpo-moto .fila-moto {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    #cuerpo-moto .btn-info-circle {
        justify-self: start;
    }
}
